博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大话微服务
阅读量:5908 次
发布时间:2019-06-19

本文共 1511 字,大约阅读时间需要 5 分钟。

  早在1996年,Gartner最早提出SOA(面向服务架构)的概念,早期的SOA的实现方式主要是WebService,通过契约发布,契约描述,服务实现的流程来构建。早期SOA主要是解决软件与软件之间跨开发语言、跨平台的交互问题。在传统业务中WebService也算是补足业务的通讯问题。

  而微服务(Microservice For SOA+)的提出,则是彻底要改变原有的开发架构,而不是补足作用。由于移动互联网的迅猛发展,开发与迭代速度越来越快。尤其是多个终端,多个平台的业务愈发的迅速发展。传统的单体模式开发架构显然已不和时宜。多个平台功能的不同步性愈发突出。业务与界面耦合性没有彻底解决,并且或多或少的存在维护问题。导致更换界面与迁移平台的成本大幅上升。早期人们就开始想有没有办法解决业务逻辑与平台的分离,他们想到WebService和其他RPC的方式,但是应用过程中发现WebService的私有协议过重,在移动平台上调用显得过于费时费力;那么RPC呢?RPC的标准参差不齐,违背互联网的开放协作原则。简单的说:传统的单体软件没有真正做到一次开发业务,跨设备、跨平台使用。不断重构界面衔接层(MV*中P,VM,C层)的代码,并且业务耦合性没彻底解决。

  微服务油然而生,通过简单的HTTP协议进行服务,抛弃以往又笨又重或者不兼容的服务协议。为了更好使用服务进行交互,人们想起Roy Thomas Fielding在他2000年的提出的RESTful风格的服务架构。通过简单的契约,更快、更好的构建通用的服务。从此业务的互通性得到了很好的解决,不断有公司尝试新的架构。

  通过将业务的调用接口粒度化的暴露出来,用简单的API文档说明业务流程。任何消费端都可以最快的使用业务。不必关系业务细节,从而快速的将业务部署到任何消费端。

  微服务带来一个结果就是:服务端重点关心 Model(BLL与DAL与Entity) 层;客户端重点关心 View 层与 Presenter 或 Controller 或 ViewModel 层;分离了关注点的同时提高了开发效率。

  微服务能像传统业务一样可以部署在任何HTTP的服务器上不需要特殊的机制,并且能很好的利用HTTP协议的特征,只要能理解HTTP的基本特征就可以很快上手使用。

  微服务的特点:将业务逻辑服务化、松散(层级分离)化、版本化、去视图化;垂直的向消费端提供服务;可以集中部署或拆分部署;多个服务可以跑在一个进程或每个服务单独一个进程;可以共用数据库或切分数据库;通过SessionID认证或Token认证或不认证。

  微服务要注意:版本问题、循环依赖问题、日志监视问题。

如图:传统单体架构(紧凑型业务逻辑,多种技术混合使用)

如图:微服务架构(松散型业务逻辑、集中部署或分布式部署、少量技术面面俱到)

如图:微服务的多种部署与管理架构(带来的技术精简,并且以子业务为一个微服务单元)

集中式 - 1

集中式 - 2

分布式 - 1

分布式 - 2

尾巴:

  微服务的浪潮势必改变传统的IT架构,虽然会遇到各种问题,但是趋势决定了未来的走向,微服务的架构灵活性是传统单体架构无法比拟的,既可以集中部署与管理松散的服务又可以分布式部署与管理,不同规模可以对服务的架构有效调整,而不必死板的套用微服务概念。对于传统的开发来说微服务是个巨大的变革,需要一段时间消化与转变思维,我相信微服务是一个大的趋势!

  微服务很有可能成为Web3.0时代的标配,同比现在后端的承载能力反而变强。

转载于:https://www.cnblogs.com/BruceWan/p/5848102.html

你可能感兴趣的文章
问答:归档产品如何保障数据安全(上)
查看>>
6.线程同步
查看>>
HTML5坦克大战
查看>>
20120122 linux 启动流程
查看>>
音视频同步原理解析
查看>>
mac下更新自带的PHP版本到5.6或7.0
查看>>
我的新博客开通了~
查看>>
lvs-heartbeat
查看>>
【标题】
查看>>
话说大数据:非互联网企业从小数据开始
查看>>
看了隋老师的挨踢人物传之后的一些想法
查看>>
未来架构师的平台战略范例(3)_DOCKER
查看>>
RAID 5数据恢复
查看>>
太航CRM软件
查看>>
RH436集群详细笔记
查看>>
LANTEK EXPERT 功能详解
查看>>
我的友情链接
查看>>
Server-u搭建FTP服务器
查看>>
freebsd nfs 挂载遇到的问题
查看>>
宏定义中的‘#’、‘##’操作符和‘...’、‘ __变参__ ’
查看>>