SpringCloud介绍(一)

更多内容参见个人技术博客,无广告欢迎关注

1.1         SpringCloud介绍

1.1.1      微服务架构演化

 

 

 

简而言之,微服务就是开发一组小型服务的方式来开发一个独立的应用系统,每个小型服务都运行在自己的进程中,并采用HTTP资源API轻量级的机制来互相通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据库存储技术。

其实微服务就是在业务垂直拆分的基础上,拆分的粒度更细。

1.1.2      微服务的优点

1.    易于开发和维护

业务分拆,一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个微服务相对简单。每个微服务业务复杂度低,方便理解、维护和调试。整个应用由若干个微服务构成。

2.    单个微服务启动快

单个微服务代码量少,启动比庞大的项目要快。

3.    故障隔离

某个服务宕机,其他服务照常使用。单体项目就可能发生雪崩,造成整个系统宕机。

4.    局部修改容易部署

传统单体项目修改一个功能就需要重新部署整个应用,而微服务只需对需要修改的服务重新部署,其他服务无需停止,甚至不相关的业务仍然可以继续执行。

5.    技术栈不受限

在微服务中,支持技术异构,可以根据软件团队擅长的技术去实现,如javac#cphp等,也支持异构数据库mysqloraclesqlServer等。

1.1.3      定义

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer's own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

Spring Cloud就是一个全家桶,整合了市面上最好最先进的技术,形成一个工具集,并简化其中的操作,引领编程新方式。

1.1.4      官网

官网:       http://projects.spring.io/spring-cloud/

手册:       http://cloud.spring.io/spring-cloud-static/Dalston.SR2/

中文:       https://springcloud.cc/

1.1.5      核心功能

configuration management          配置中心

service discovery                    服务发现

circuit breakers                  断路器

intelligent routing               智能路由

micro-proxy                       微代理

control bus                       控制总线

one-time tokens                   一次性令牌

global locks                      全局锁

leadership election               选举算法

distributed sessions              分布式会话

cluster state                         集群状态

1.1.6      核心组件架构图

 

 

 

1.1.7      规划内容和步骤

注册中心Eureka           eureka + provider-user + consumer-client

前端负载均衡Ribbon       consumer-ribbon

RESTFul简易封装      consumer-ribbon-feign

断路器支持               consumer-ribbon-feign-hystrix

API网关 Zuul         gateway-zuul

异构开发语言Sidecar  sidecar + nodejs

配置中心config           configserver+ consumer-ribbon-feign-hystrix

 

posted @ 2019-01-28 11:11  一只特立独行的程序猿  阅读(1090)  评论(0编辑  收藏  举报