spring cloud知识点

eureka注册中心(zookeeper,eureka)

也要集群,可以相互注册,网状结构。后面很多高可用的服务都是用这种方式。Eureka的客户端缓存技术

spring boot actuator

提供监控服务的运行状态及详细信息或自定义信息,

eureka

注册服务方式有配置方式和rest方式,server:使用pring initializr快速创建spring boot项目,或用idea。
使用resttemplate请求对应服务.

ribbon

为消费者提供负载均衡功能。也可以单独使用,类似nginx

feign

简化消费端请求代码。
BUG:create(throwable cause)中的cause可能是null。这是Feign的BUG,该BUG在Fein9.4.0中已经解决。

hystrix

服务的容错处理,当某些服务响应超时后对服务器会造成雪崩现>象。它很好的将响应超时的服务停止掉不让消费端访问了,
从防止了雪崩现象.

hystrix dashboard

可视化监控数据,通过访问/hystrix.stream获取数据的文字形式展示。(服务的运行状态之类的信息)

turbine

聚合监控数据。由于hystrix dashboard只能监控一价目地址,>要查看其他的地址就要切换不方便。
1turbine可以提供监控集群的功能。
2还可以利用消息中间件收集数据再显示,各个微服务将hystrix >command的监控数据发送到消息中间件,turbine消息消息中间件
中的数据。

zuul

上面ribbon微服务网关: 的原理只是帮消费端通过负载均衡算法找到一个服务提供者。消费端直接访问服务提供者的微服务。
如果有业务要请求多个服务的话,分开请求效率不高,可以采用zuul的聚合实现。
这样会带来很多问题,如认证复杂,请求要跨域等问题。zuul带了好处,易于监控,易于认证,减少客户端与服务的交互次数。可
以这么理解,批量请求处理。
为了高可用性,zuul也要注册以eureka server中.

Sidecar整合非jvm微服务.

整合其他语言的服务。

spring cloud config 统一管理微服务配置。

微服务通过config client获取config server中的配置信息,配>置信息放在git仓库中。
根据系统的高可用需求,config server和Git都可以做集群到>eureka中。

spring cloud BUS

当配置修改后要手动刷新获取配置远程配置信息不方便。使用BUS可以实现自己动刷新配置。
服务的实例能用BUS连接起来,统一监听一个更新事件,当一个服务发起更新请求,其他的服务都自己发起更新请求。
BUG依赖了rabbitMQ,rabbitMQ也要集群。

spring cloud sleuth 实现服务跟踪

服务的运行情怳很重要,可以帮助我们发现问题然后优化问题。如:处理请求时间,网络延迟时间,业务逻辑消耗时间等。
Zipkin。可以使用Zipkin收集日志数据到MQ中,还提供了友好的分析日志页面。
ELK。可以使用ELK来分析日志。

docker 容器

微服务可以发布到docker中运行。 docker hub上有很多镜像可以安装使用。

posted on 2018-03-09 02:06  wolf12  阅读(246)  评论(0编辑  收藏  举报