初识 Sping Could
初识 Sping Could一、spring could config ------------------------配置管理工具支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/解密配置内容等。二、spring could Netflix -------------------------核心组件(对多个Netflix OSS...
目录
初识 Sping Could
一、spring could config
------------------------配置管理工具
支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/解密配置内容等。
二、spring could Netflix
-------------------------核心组件(对多个Netflix OSS 开源套件进行整合)
下面是常有几个组件:
(1)、eureka:
服务治理组件(包含服务注册中心,服务发现与发现机制的实现)
(2)、hystrix:
容错管理组件(实现断路由模式,帮助服务依赖中出现的延迟和为故障提供强大的容错机制)
(3)、Ribbon:
客户端负载均衡的服务调用组件.
a.feign:基于ribbon和hystrix的声明式服务调用组件。
举例:微服务A调用微服务B中的controller交互层中test方法
微服务A中的实现:
@FeignClient(name = "base-bill-service-prov", fallback=TestClientFallback.class)
public interface TestFeignClient {
@RequestMapping(value = "/api/test", method = RequestMethod.GET)
List<Map<String, Object>> test(@RequestParam("Id")String Id);
}
@Component
public class TestClientFallback implements TestFeignClient {
private static final Logger log = LoggerFactory.getLogger(TestClientFallback.class);
@Override
public List<Map<String, Object>> test(String Id) {
// TODO Auto-generated method stub
return null;
}
}
b.Zuul:网关组件,提供智能路由,访问过滤等功能。
c.Archaius:外部化配置组件:
Archaius 提供了一些其他任何配置框架都没有考虑过的功能,其中关键点如下:
1)动态和类型属性
2)在属性改变时调用的回调机制
3)动态配置源
4)动态属性验证
(4)Bus:
消息总线,用于传播集群中的状态变化或事件,以触发后续的处理。
(Bus将分布式的节点用轻量级的消息代理链接起来,用于广播配置文件的更改或者服务之间的通讯,也可用来通讯)
目前常有的有: kafka、RabbitMQ
用MQ的好处:
可靠性:具有消息消费确认机制,如果发布一条消息,还没有消费者消费该队列,那么这条消息将一直存放在队列中,直到有消费者消费了该条消息,以此可以保证消息的可靠消费。
消费者负载均衡:队列可以被多个消费者同时监控消费,由于rabbitmq的消费确认机制,因此它能够根据消费者的消费能力而调整它的负载;
持久性:队列,每条消息都可以选择性持久化,持久化粒度更小,更灵活。
队列监控:实现了后台监控平台.
(5)Stream:
通过Redis、Rabbit或者Kafka实现的消费微服务,可以通过简单的声明式模型来发送和接收消息
(6)spring Sleuth:
spring could 应用的分布式跟踪实现。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)