服务
在互联网世界中,我们手机中的APP都可以称为微服务, 顾名思义, 为某一个方向,目的提供资源或者技术支撑的服务,尽可能量化的形式,比如我们使用的支付,就是一个微服务。
支付宝为例,它的主要方向是支付,旗下有花呗,借呗,基金,股票,生活缴费等等多个服务共同组成一个APP,随之时间的迭代,支付宝中的微服务多达上万个,他们都是怎么实现的呢?本期跟随卢卡的视角,我们一探究竟?
微服务的由来:
微服务的提出者是马丁福勒;他在论文中这样描述到,
While there is no precise definition of this architectural style
就目前而言,对于微服务业界并没?有一个统一的、标准?的定义
但通常而言, 微服务架构是一种架?构模式或者说是一种?架构风格,它提倡将?单一应用程序划分成?一组小的服务,每?个服务运行在其独?立的自己的进程中?,服务之间互相协?调、互相配合,为?用户提供最终价值?。服务之间采用轻?量级的通信机制互?相沟通(通常是基?于HTTP的RESTful API)。每个?服务都围绕着具体?业务进行构建,并?且能够被独立地部?署到生产环境、类?生产环境等。另外?,应尽量避免统一?的、集中式的服务?管理机制,对具体?的一个服务而言,应?根据业务上下文,选?择合适的语言、工?具对其进行构建,?可以有一个非常轻量?级的集中式管理来?协调这些服务,可?以使用不同的语言?来编写服务,也可?以使用不同的数据?存储。
本质
微服务是一种架构的模式(风格):
将项目业务划分为一个个小而独立的单体,这个单体保证自己独立的业务功能,能够低耦合–类似于进程-
我总结为:(高内聚,低耦合,实时响应,集群部署,各司其职)
为什么会需要微服务
当单体服务支持不了,日益增长的需求以及用户之后,逐渐的需要分层,量化单体中的单个功能,其中各个功能各司其职,组成一个服务环境。
微服务的优缺点
微服务的优点:
-
1.高内聚的目标模块方法–专注于一个业务功能;
-
2.开发简单,易于维护,效率高;
-
3.无语言的限制实现;低耦合的特性;
-
4.特殊的:微服务只是业务逻辑的代码,不会与Html.css和其他界面组件混合;
-
5.微服务有自己的数据库,自己存储数据库的能力,也可以是用统一的数据库;
缺点:
-
1.开发人员的系统的复杂性(处理分布式) -
2.多个服务包的增多,运维压力增大;
也就是我们分布式要解决的:
系统环境版本依赖,
服务之间的通信响应
数据一致性
性能,并发,稳定性
微服务的技术栈:
目前主流的是netfix公司的springcloud,和基于阿里的dubboRpc和基础zookeeper等多个机制组成的,
springCloud作为分布式微服务的架构,是微服务的一站式解决方案, 也就说一体机和组装机的区别
就目前来说,dubboRPC通信用的多一点,但是未来肯定是springcloud的天下,因为未来所以的服务都会上云,云计算,云服务器,大数据等,都需要大的计算平台去支撑。
卢卡寄语
微服务的本质是将功能量化,高内聚自己的行为,划分模块去通信,真正做到低耦合的去实现多模块的调用, 每个模块有自己独立的环境,数据库,一一区分又互不干预,为总体的用户提供服务。
今天的分享就到这里了, 我是卢卡,记得点赞再走哦
原文始发于微信公众号(卢卡多多):微服务是何方神圣
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/23475.html