目录
微服务难点:
- 服务监控日志监控,快速定位错误处。(微服务架构整个应用分散成多个服务,定位故障点非常困难、在微服务架构中,一个服务故障可能会产生雪崩效用,导致整个系统故障)
- 影响减小,但某个模块出现问题,不能对主业务逻辑产生影响
- 服务治理,事务的处理
微服务架构整个应用分散成多个服务,定位故障点非常困难。
稳定性下降。服务数量变多导致其中一个服务出现故障的概率增大,并且一个服务故障可能导致整个系统挂掉。事实上,在大访问量的生产场景下,故障总是会出现的。
服务数量非常多,部署、管理的工作量很大。
开发方面:如何保证各个服务在持续开发的情况下仍然保持协同合作。
测试方面:服务拆分后,几乎所有功能都会涉及多个服务。原本单个程序的测试变为服务间调用的测试。测试变得更加复杂。
因此学好后才能进行此方向的研究。
Eureka
提供一个生产者和消费者的注册中心,将所有注测服务的作为生产者供外部调用或内部调用。
内部调用就无关端口名服务名相同就可以实现负载均衡(Eureka内部实现负载均衡)。
Hystrix
熔断器:保证服务高可用,哪一个服务挂了,牵连到的服务尽快让其结束调用
熔断器:放在服务调用端(生产者)
熔断监控Hystrix Dashboard和Turbine
Hystrix Dashboard 监控单个消费者的熔断器
Turbine 监控集群熔断器
Spring Cloud Config配置中心git示例
将配置集中到一个服务端,这个服务端给所有服务提供配置
@RefreshScope 用这个注解可以注册中心的值变了客户端就可以知道
配置中心高可用
将配置服务也注册到eureka中, 然后通过eureka做服务的查找
配置中心和消息总线
用总线来解决配置改变从而刷新客户端的配置
actuator
一套监控的功能,可以监控程序在运行时状态
Zuul 网关
访问服务的入口,注册到eureka,可以自动实现服务发现
SpringCloud的总结
Spring Cloud在国内中小型公司能用起来吗?
中小型互联网公司微服务实践-经验和教训
从架构演进的角度聊聊Spring Cloud都做了些什么?
服务网关Zuul高级篇
鉴权、流量转发、请求统计等等
熔断 重试
使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪
为了跟踪请求到哪一步出错了,进行了路径日志的跟踪记录
注册中心 Consul 使用详解
性能比Euerka好很多
服务网关 Spring Cloud GateWay 入门
支持长链接、使用非阻塞 API,很强大。使用不同的条件进行路由的转发。