微服务
微服务是一种架构模式,一种分布式的架构风格。
顾名思义,micro service,将一个庞大的单体应用拆分成若干个“微小”的服务,服务间通过进程通讯完成原本在单体应用中的调用。
其中必要的六个基本技术为:
1、服务注册与发现;
2、进程间通信;
3、负载均衡;
4、分布式配置中心;
5、服务保护(熔断器、降级);
6、网关路由。
基于k8s、springcloud的服务注册与发现对比k8s服务注册、发现系统:etcd(内部采用raft协议作为一致性算法),对于微服务来说第三方注册
https://www.jianshu.com/p/478ba38a938e k8s服务发现的实现:kube-dns
springcloud框架开发的微服务,使用eureka组件做为服务注册中心。
在应用中增加注册中心,入侵性强。
springCloud:
springCloud组件:
1.服务注册中心Eureka:实现服务注册,服务发现,服务的路由分发基础能力。
2.服务网关Zuul:所有外部需要访问和请求的服务全部通过Zuul进行转发,类似API服务网关。
3.断路器Hystrix:负责监控服务之间的调用情况,连续多次失败进行熔断保护。
4.服务链监控Zipkin:实现服务日志监控和服务链监控。