SpringCloud微服务架构搭建
什么是微服务?
'微',顾名思义,就是小的意思。意指将一个模块按其业务功能来拆分为多个模块,每个模块之间相互独立,各司其职,类似于单一职责原则。每个模块就是一个服务,它们之间不相互依赖,可以独立成功启动、部署及测试。服务之间的调用,可以通过Restful、RPC等来进行通信。
微服务框架的选择
目前国内使用最多的分布式框架是dubbo,对于dubbo的介绍,这里不再概述。SpringCloud是什么呢?我们都知道,在分布式系统中,我们要实现对其它服务的调用以及分布式事物的处理等,而SpringCloud为分布式系统的复杂性提供了全套的解决方案。
论背景而言,dubbo是阿里巴巴主导开发的,在国内市场上占有一定的份量。SpringCloud的核心是Netflix,整合了Netflix的多个开源子集,并且有Springsource为强大背景。论社区活跃程度而言,dubbo已经基本稳定不再更新了,SpringCloud在社区上的更新还是比较频繁。另外,SpringCloud下有许多子集,其提供了服务跟踪、熔断机制、网关代理、负载均衡、分布式配置等功能。
学习步骤:
一、搭建Eureka服务注册中心
二、搭建服务提供者并注册到服务中心
三、搭建服务消费者,使用Ribbon或Feign实现负载均衡并调用远程服务
四、Hystrix实现服务熔断,解决服务雪崩,提高系统高可用
五、Zuul搭建服务网关,解决跨域问题。
六、分布式配置中心搭建
七、服务跟踪及使用HystrixDashBoard与Trubine实现断路由监控