微服务之SpringCloud(一)

一、微服务
1.1 微服务是什么
微服务:面向服务开发(SOA:Service-Oriented Architecture)的一种落地架构.是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,并提供更加灵活的服务支持
原则:
1.分而治之 2.各司其职 3.服务的高可用和可扩展性
微服务其实就是将一个应用按照功能模块进行拆分,拆分为不同的服务,服务之间通过http请求完成调用
1.2 微服务特点
微服务的基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发、管理和加速。在分散的组件中使用微服务云架构和平台,使部署、管理和服务功能交付变得更加简单。微服务是利用组织的服务投资组合,然后基于业务领域功能分解它们,在看到服务投资组合之前,它还是一个业务领域。
微服务这一概念出现于2012年,是因软件作者Martin Fowler而流行,他承认这并没有精确地定义出这一架构形式,虽然围绕业务能力、自动化部署、终端智能以及语言和数据的分散控制有一些常见的特性。
从互联网早起到现在,系统架构大体经历了下面几个过程: 单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的Service Mesh(服务网格化)。
1.3 微服务的优缺点

优点:
将应用拆分,便于应用代码维护,降低开发难度,减低耦合
以前所有的功能代码都耦合在一起,如果有一个微小的bug所有功能模块都要打包升级,耦合严重开发人员开发一个功能,也要对所有其他的代码熟悉,如果不熟悉就可以导致其他模块不能使用
改变:
如果应用拆分,每一个工程师都维护一个模块代码,升级升级某一部分,降低耦合,降低开发难度,应用拆分可以多实例部署,大大提高并发能力商品模块并发量很高,可以多部署几台商品模块即可 
坏处:
模块过多,应用过多,需要专门的运维同学去负责这些模块运行发布升级,运维成本高
结论:
所以在用户量少或业务简单时,都用单机或者垂直架构部署,当用户量很大或者业务复杂时,就需要微服务
1.3 微服务解决方案
Dubbo(阿里巴巴,开源到apache):2012面世,2014停更;2015底阿里巴巴宣布继续更新。Dubbox(即Dubbo eXtensions,当当网基于Dubbo的扩展)
jd-hydra(京东基于Dubbo的扩展,没有开源)
Spring Cloud(Spring)2016年(曾经是SpringCloud Netfiex 现如今是SpringCloud Aliababa)
ServiceComb(华为,开源到apache,在公司内部叫cse) 2017年
Lstio(服务网格化 由谷歌、IBM 与 Lyft合作开源)(uml.org.cn/wfw/201909063.asp),2017年5月发布
HSF(阿里内部使用的,面向企业收费) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃yumi的羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值