基本概念:
CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
spring cloud 技术点:
注册中心 eureka :怎么实现集群?
@EnableEurekaServer
集群配置:
application.yml配置详情如下:
--- spring: application: name: spring-cloud-eureka profiles: peer1 server: port: 8000 eureka: instance: hostname: peer1 client: serviceUrl: defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/ --- spring: application: name: spring-cloud-eureka profiles: peer2 server: port: 8001 eureka: instance: hostname: peer2 client: serviceUrl: defaultZone: http://peer1:8000/eureka/,http://peer3:8002/eureka/ --- spring: application: name: spring-cloud-eureka profiles: peer3 server: port: 8002 eureka: instance: hostname: peer3 client: serviceUrl: defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/
共识算法是:raft 少数服从多数。保证AP、负载均衡
服务者,消费者:两者之间使用的http 通讯方式。
实现方式?服务端:@EnableDiscoveryClient
:启用服务注册与发现
客户端比服务端多:@EnableFeignClients
:启用feign进行远程调用
如何知道另一个服务方是否存活?
熔断:触发机制是什么?一个服务接口50%的失败,默认5秒后开启半开状态
服务降级:fallback
3.资源隔离:每个资源一个线程池。当年我的线程池问题导致很多坑
网关:zuul,:实现方式?添加配置@EnableZuulProxy 拦截,请求前,请求中,请求后。
缺点: 基于 Servlet,使用阻塞 API,它不支持任何长连接
gateway:实现方式:基于spring 5 ,spring cloud 2.0 实现
请求前,请求中。
配置中心(Spring Cloud Config),从git中获取,定时刷新:新增加@EnableConfigServer
spring cloud bus(消息总线):事件,消息总线。用于集群中传播状态变化。刷新配置时,使用mq进行广播,然后接到消息的服务会自动刷新配置。
spring boot task:使用@order()配置
spring cloud 的链路跟踪
Spring Cloud Security 鉴权和授权
Netflix Archaius:配置管理API 每隔60秒读取配置文件
Spring Cloud for Cloud Foundry:Cloud Foundry是VMware推出的业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题
Spring Cloud Cluster:提供集群统一的。提供在分布式系统中的集群所需要的基础功能支持,如:选举、集群的状态一致性、全局锁、tokens等常见状态模式的抽象和实现。
Spring Cloud Data Flow、
Spring Cloud Stream、
Spring Cloud Task、
Spring Cloud Zookeeper、
Spring Cloud Connectors、
Spring Cloud Starters、
Spring Cloud CLI: