细心微服务架构的优势与不足那点事
微服务正在博客、社交媒体讨论组和会议演讲中获得越来越多的关注,在Gartner的2014 Hype Cycle上它的排名非常靠前。同时,软件社区中也有不少持怀疑论者,认为微服务不是什么新东西。Naysayers认为这就是SOA架构的重新包装。然 而,尽管存在着不同的争论,微服务架构模式却正在为敏捷部署以及复杂企业应用实施提供巨大的帮助。
首先我们看看为什么要使用微服务。
开发单体式应用
假设你正准备开发一款与Uber和Hailo竞争的出租车调度软件,经过初步会议和需求分析,你可能会手动或者使用基于Rails、Spring Boot、Play或者Maven的生成器开始这个新项目,它的六边形架构是模块化的 ,架构图如下:
应用核心是业务逻辑,由定义服务、域对象和事件的模块完成。围绕着核心的是与外界打交道的适配器。适配器包括数据库访问组件、生产和处理消息的消息组件,以及提供API或者UI访问支持的web模块等。
单体式应用的不足
微处理架构——处理复杂事物
许多公司,比如Amazon、eBay和NetFlix,通过采用微处理结构模式解决了上述问题。其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的、互相连接的微服务。
每一个应用功能区都使用微服务完成,另外,Web应用会被拆分成一系列简单的Web应用(比如一个对乘客,一个对出租车驾驶员)。这样的拆分对于不同用户、设备和特殊应用场景部署都更容易。
每种服务都有自己的数据库,另外,每种服务可以用更适合自己的数据库类型,也被称作多语言一致性架构。比如,驾驶员管理(发现哪个驾驶员更靠近乘客),必须使用支持地理信息查询的数据库。
微服务架构的好处
第三,微服务架构模式是每个微服务独立的部署。开发者不再需要协调其它服务部署对本服务的影响。这种改变可以加快部署速度。UI团队可以采用AB测试,快速的部署变化。微服务架构模式使得持续化部署成为可能。
微服务架构的不足
总结
构建复杂的应用真的是非常困难。单体式的架构更适合轻量级的简单应用。如果你用它来开发复杂应用,那真的会很糟糕。微服务架构模式可以用来构建复杂应用,当然,这种架构模型也有自己的缺点和挑战。
转载于:https://blog.51cto.com/12973162/1931313
细心微服务架构的优势与不足那点事相关推荐
- SpringCloud微服务之微服务架构的优势
微服务架构有以下优势: 当人们将业务领域分解为可独立部署的环境时,能够将相关的变更后期解耦.只要变更限于单一有限的环境,并且服务继续履行其现有合约,那么这些变更可以独立于其他业务来进行和部署.其结果是 ...
- 微服务架构的优势与不足
2019独角兽企业重金招聘Python工程师标准>>> 英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期 ...
- 微服务架构的优势与不足(三)
2019独角兽企业重金招聘Python工程师标准>>> 微服务架构的好处 微服务架构模式有很多好处.首先,通过分解巨大单体式应用为多个服务方法解决了复杂性问题.在功能不变的情况下,应 ...
- 微服务架构的优势与不足(二)
微处理架构--处理复杂事物 许多公司,比如Amazon.eBay和NetFlix,通过采用微处理结构模式解决了上述问题.其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的.互相连接的微服务. ...
- 微服务实战(一):微服务架构的优势与不足
https://my.oschina.net/CraneHe/blog/703181
- 【项目实战】Java从单体到微服务打造房产销售平台(九) - 微服务架构的优势
- 微服务架构与SOA的比较、优势、为实施微服务架构做好准备
微服务架构与SOA的比较 SOA (Service-Oriented Architecture )即面向服务架构,是一种粗粒度.松藕合的面向服务架构设计方法. SOA 可以看作 BIS 模型. XML ...
- 微服务架构10个最重要的设计模式
自从软件开发的早期(1960年代)以来,解决大型软件系统中的复杂性一直是一项艰巨的任务.多年来,软件工程师和架构师为解决软件系统的复杂性进行了许多尝试:David Parnas的模块化和信息隐藏(19 ...
- Re:从0开始的微服务架构--(二)快速快速体验微服务架构?--转
原文地址:https://mp.weixin.qq.com/s/QO1QDQWnjHZp8EvGDrxZvw 这是专题的第二篇文章,看看如何搭建一个简单模式的微服务架构. 记得好久之前看到一个大牛说过 ...
- SOA和微服务架构的区别?
知乎用户 289 人赞同了该回答 谢多人邀请,其实前面几位的回答已经差不多了,在这里仅谈下自己的简单总结. 微服务架构强调的第一个重点就是业务系统需要彻底的组件化和服务化,原有的单个业务系统会拆分为多 ...
最新文章
- php this 代表什么,php中$this-)是什么意思?
- 简简单单的正则表单验证练习
- dubbo web工程示例_带有Dubbo的Spring Cloud Alibaba
- 9.03-Springboot要点记录
- python的逆袭之路_Python领域最伟大工程师Kenneth Reitz的逆袭之路
- PowerShell实战1:Ping_Test
- 初中位似图形作图_[如何画位似图形] 位似图形的画法及步骤
- 《linux操作系统》第06章在线测试,Linux系统管理一测试题-附答案.doc
- Python的迭代器和生成器
- ceph auth get_CPB羽梦幻境体验展来了!快来GET限量产品!
- stm32 薄膜键盘原理_雷蛇发布第二代轻机械键盘,你了解什么是轻机械键盘吗?...
- Powershell都有哪些好用的技能?
- 比特币 的 正统 ——BCH
- flask框架+pygal+sqlit3搭建图形化业务数据分析平台
- 【软件使用技巧】二(Word文档损坏)
- Axure最新激活码
- 破解Kindle,轻松自定义字体
- android gps 获取方位_Android GPS定位 获取经纬度
- mysql emoji表情_mysql utf8mb4与emoji表情
- 攻防比赛常见的打点路径有哪些
热门文章
- foobar2000转换APE参数设置
- Windows2003 IIS上设置301定向,实现不带www域名跳转带www域名的方法
- ASP.net揭秘笔记
- 两种方法--完全卸载macOS上的应用程序
- MacOS怎样启用悬停文本功能的具体操作方法!
- Final Cut Pro X for Mac有哪些新功能?Final Cut Pro X Mac版怎么样?
- 制作Camtasia 2020击键标记动画
- 复制字符串 _strdup _wcsdup _mbsdup
- the database profile could not loaded. Check log for details
- Android 中文 API——android.widget合集(中)(50篇)(chm格式)