目录

 

初识 Sping Could

一、spring could config

二、spring could Netflix


初识 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 应用的分布式跟踪实现。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐