0%

虽然之前已经学习了ElasticSearch的使用,但是依然有一些elasticsearch的高级搜索功能等待大家探索。我们今天就会挑选几个比较常用的来学习。

详细文档我们可以参考官方文档:

https://www.elastic.co/guide/en/elasticsearch/reference/7.x/index.html

1.0.安装Elasticsearch

建议所有同学使用我提供的镜像从新安装elasticsearch,我的版本是7.4.2

参考课前资料文档:

image-20200419165205131

阅读全文 »

第一章 MQ概述

1.1.什么是MQ

MQ全称 Message Queue(消息队列) , 是在消息的传输过程中保存消息的容器. 多用于分布式系统之间进行通信.

消息队列是典型例子: 生产者消费者模型.

A系统向B系统发送消息, A系统先将消息一条一条存放到MQ中, B系统从MQ中一条一条读取消息

image-20201122194125554image-20201123091502006

1
2
3
4
5
MQ,消息队列, 存储消息的中间件
分布式系统通信方式:
直接远程调用
借助第三方完成间接通信
发送方称为生产者, 接收方称为消费者
阅读全文 »

1 容器编排概述

Docker只是一个对项目做打包和运行的小工具,如果止步于此,那么充其量就是一个开发者手里的小玩具

因为真实的项目都是要集群部署的,还要考虑负载均衡、水平扩展、动态伸缩、集群容错等问题,而Docker并不具备这样的功能。

而要想让Docker在集群中的部署如同单机部署一样的方便,那就需要用到容器编排技术了。

“编排”(Orchestration)在云计算行业里不算是新词汇,它主要是指用户如何通过某些工具或者配置来完成一组虚拟机以及关联资源的定义、配置、创建、删除等工作,然后由云计算平台按照这些指定的逻辑来完成的过程。

而容器时代,“编排”显然就是对 Docker 容器的一系列定义、配置和创建动作的管理。目前容器编排技术比较知名的包括:

  • Docker公司自己的:docker-compose + swarm组合
  • Google牵头的Kubernetes技术,简称为k8s
阅读全文 »

0.注册中心(Nacos)

自从阿里巴巴将自己的微服务组件加入到SpringCloud中,成为现在的SpringCloudAlibaba,目前国内使用SpringCloudAlibaba的也越来越多。特别是其中的Nacos组件,同时具备了Eureka和SpringCloudConfig的功能,得到了很多国内企业的喜爱。

0.1.认识Nacos

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

image-20201027210027942

官网地址:https://nacos.io/zh-cn/index.html

阅读全文 »

1.Hystrix

1.1.简介

Hystix,英文意思是豪猪,全身是刺,看起来就不好惹,是一种保护机制。

Hystrix也是Netflix公司的一款组件。

主页:https://github.com/Netflix/Hystrix/

1525658740266

那么Hystix的作用是什么呢?具体要保护什么呢?

Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。

阅读全文 »

Swagger2快速入门

​ Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。

官网:https://swagger.io/

构建spring-web或者springboot-web项目:

测试接口:

阅读全文 »

1.系统架构演变

随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方,还是偏安一隅得过且过?

其实生活不止眼前的苟且,还有诗和远方。所以我们今天就回顾历史,看一看系统架构演变的历程;把握现在,学习现在最火的技术架构;展望未来,争取成为一名优秀的Java工程师。

淘宝14次架构演进

/doc/淘宝14次架构演进.pdf

1
https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247485427&idx=1&sn=35a1d4d4bc8a96ecb5e841bea2cc1102&chksm=fba6eff0ccd166e6c048741bec01d8979b2be277f6abd38996e0aed2e2f887559dd61f693c71&mpshare=1&scene=1&srcid=0616Hpu6jcYpt7HaXeXHDhea&sharer_sharetime=1596984524454&sharer_shareid=5e222757dd91db135a3736679bc9eb56&key=bbd9db2a3d7572cdbd226e0775c7ca7f0d70f724d8b03095eeecf112cc204c20fba4dff140e40327c794c36ff38352fba5da804015bb2ed758cfdec881b8600fc88cd85cc84fe8b87c901e1b1da583fb&ascene=1&uin=MTE5ODAyNDI3OA%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_CN&exportkey=A1PI8LOUY6TMNRWrt7504jQ%3D&pass_ticket=U40ThnXGAl1WXUCF7y5mEpLjz19dLmkCkdYPHIB2MTvojIlJr2M57ToBVxtUzROh
阅读全文 »

1.ES的聚合

聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析。例如:

  • 什么品牌的手机最受欢迎?
  • 这些手机的平均价格、最高价格、最低价格?
  • 这些手机每月的销售情况如何?

实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近实时搜索效果。

要注意:参与聚合的字段,必须不能分词

阅读全文 »