Atitit 微服务的优点和拆分

目录

1. 微服务架构五大优势 崛起势头不可挡 4 1

1.1. 1、复杂度可控 6避免“盲人摸象” 7 2

1.2. 2、灵活可扩展 7 2

1.3. 3、独立部署 7 2

1.4. 4、开发针对性更强 7 2

1.5. 5、降低TCO 8 2

2. 微服务的优点 2

2.1. 微服务最大特点 独立部署 2

2.2. 增强稳定性,独立部署 2

2.3. 协调人力资源,使用不同的擅长的技术来实现不同的模块 3

2.4. 跨语言集成  提升效率 3

2.5. 性能负担 3

2.6. 拆分,有利于开发人员项目规模的轻量化,提升开发速度 3

2.7. 解耦:对于我们底层程序员而言,看得见的好处就是解耦 3

2.8. 提升启动速速 3

2.9. 提升扩展性 4

2.10. 利于持续性开发 4

3. 核心业务拆分 与 远程接口 4

3.1. 拆分 5

3.2. 拆分粒度  对于大部分项目来说,不到十 5

3.3. 按照不同的效率语言拆分不同的功能 5

  1. 微服务架构五大优势 崛起势头不可挡 4

    1. 1、复杂度可控 6避免“盲人摸象” 7
    2. 2、灵活可扩展 7
    3. 3、独立部署 7
    4. 4、开发针对性更强 7
    5. 5、降低TCO 8
  2. 微服务的优点
    1. 微服务最大特点 独立部署

微服务特点的描述。

大概从以下四个方面来说:

  • 根据业务模块划分服务种类。
  • 每个服务可以独立部署并且互相隔离。
  • 通过轻量的 API 调用服务。
  • 服务需要保证良好的高可用性。
  1. 增强稳定性,独立部署

单体式应用另外一个问题是可靠性。因为所有模块都运行在一个进程中,任何一个模块中的一个bug,比如内存泄露,将会有可能弄垮整个进程。除此之外,因为所有应用实例都是唯一的,这个bug将会影响到整个应用的可靠性

  1. 协调人力资源,使用不同的擅长的技术来实现不同的模块
  2. 跨语言集成  提升效率

使得每个服务都可以有专门开发团队来开发。开发者可以自由选择开发技术,提供API服务。当然,许多公司试图避免混乱,只提供某些技术选择。然后,这种自由意味着开发者不需要被迫使用某项目开始时采用的过时技术,他们可以选择现在的技术。甚至于,因为服务都是相对简单,即使用现在技术重写以前代码也不是很困难的事情。

  1. 性能负担
  1. 拆分,有利于开发人员项目规模的轻量化,提升开发速度
  2. 解耦:对于我们底层程序员而言,看得见的好处就是解耦

。我要实现一个功能,可能并不需要很深入的了解别人的代码

  1. 提升启动速速

体式应用也会降低开发速度。应用越大,启动时间会越长。比如,最近的一个调查表明,有时候应用的启动时间居然超过了12分钟。我还听说某些应用需要40分钟启动时间。如果开发者需要经常重启应用,那么大部分时间就要在等待中渡过,生产效率受到极大影

  1. 提升扩展性

模块发生资源冲突时,扩展将会非常困难。比如,一个模块完成一个CPU敏感逻辑,应该部署在AWS EC2 Compute Optimized instances,而另外一个内存数据库模块更合适于EC2 Memory-optimized instances。然而,由于这些模块部署在一起,因此不得不在硬件选择上做一个妥协。

  1. 利于持续性开发

另外,复杂而巨大的单体式应用也不利于持续性开发。今天,SaaS应用常态就是每天会改变很多次,而这对于单体式应用模式非常困难。另外,这种变化带来的影响并没有很好的被理解,所以不得不做很多手工测试。那么接下来,持续部署也会很艰难。

1. 每个服务小,代码易于理解,启动更快,部署更快,开发更高效。

2. 每个服务独立部署,可以独立变更,无需协同,持续部署变得可行。 
3. 每个服务可以独立进行X轴克隆和Z轴分区。独自选择适合自己资源需求的硬件。例如,CPU密集需求的和内存密集的组件,在整体架构中,必须部署在一起,但是微服务可以满足各自的优先需求来部署。

4. 可以团队分组,每个组开发独立开发部署一些小服务。

5. 故障隔离性。出问题的组件和服务,可能不会影响到全局。

6. 技术更新更容易,对每个服务可以独立选择语言和框架。

7. 如果新技术尝试失败,可以很快抛弃这个成果,不会对整个项目带来风险。

  1. 核心业务拆分 与 远程接口

    1. 拆分
    2. 拆分粒度  对于大部分项目来说,不到十

微服务  优点

  1. 按照不同的效率语言拆分不同的功能

微服务笔记.html

Atitit 微服务的优点和拆分 目录 1. 微服务架构五大优势 崛起势头不可挡 4 1 1.1. 1、复杂度可控 6避免“盲人摸象” 7 2 1.2. 2、灵活可扩展 7 2 1.3. 3、独立部相关推荐

  1. 云原生架构下微服务最佳实践-如何拆分微服务架构

    转自: https://mp.weixin.qq.com/s?__biz=MzI3MzEzMDI1OQ==&mid=2651821066&idx=1&sn=8475f813a8 ...

  2. 微服务升级优点_微服务–——定义, 原则 和 优点

    微服务是业界最新的流行语,似乎每个人都在以这样或那样的方式谈论它.让我们理解一下什么是微服务?通过这篇教程我们将理解微服务的定义,概念以及微服务的原理. 微服务的定义 如今,微服务是SOA(面向服务的 ...

  3. 微服务升级优点_SpringCloud微服务架构升级总结

    原标题:SpringCloud微服务架构升级总结 1.1 应用系统的架构历史 1.2 什么是微服务? 起源:微服务的概念源于 2014 年 3 月 Martin Fowler 所写的一篇文章" ...

  4. 深入了解微服务的优点与缺点

    微服务架构(MicroserviceArchitecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦.你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID ...

  5. 【架构师实践课】微服务如何拆分?大型微服务项目从何下手?

    继上期[架构师实践课]单体和微服务怎么选?单体到微服务怎么转?之后,万老师为我们带来了微服务系统设计专题的第二个议题:微服务设计痛点. 以下内容根据实践课整理. 微服务如何拆分 首先想和大家分享的,就 ...

  6. 微服务架构的优势与不足

    2019独角兽企业重金招聘Python工程师标准>>> 英文原文:Introduction to Microservices 这篇文章作者是Chris Richardson,他是早期 ...

  7. 关于微服务,这些你都了解吗-微服务介绍

    文章目录 一 认识微服务 1.1 什么是微服务 1.2 微服务的特点 1.3 微服务诞生背景 1.4 微服务架构的优势 二 微服务生态 1.1 硬件层 1.2 通信层 1.3 应用平台层 1.4 微服 ...

  8. 微服务(概念篇)| 什么是微服务?

    本章目录 前言 一.微服务介绍 1.什么是微服务 微服务由来 为什么需要微服务? 3.1 早期的单体架构带来的问题 3.2 微服务与单体架构区别 3.3 微服务与SOA区别 微服务本质 什么样的项目适 ...

  9. 我是如何把微服务的这个模式落地的:一个服务一个数据库模式(中)

    从我接触微服务以来,迄今也得有五六年了.断断续续要么从零开始,要么中途接手,也经历了 5 套微服务项目了. 从这些项目中的经验以及和同行交流来看,根据业务切分微服务的方法总的来说思路不复杂,但是落地总 ...

  10. 微服务架构的优势与不足(二)

    微处理架构--处理复杂事物 许多公司,比如Amazon.eBay和NetFlix,通过采用微处理结构模式解决了上述问题.其思路不是开发一个巨大的单体式的应用,而是将应用分解为小的.互相连接的微服务. ...

最新文章

  1. 数据结构与算法(7-4)最短路径(迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法)
  2. 【怎样写代码】函数式编程 -- Lambda表达式(二):C#常用委托
  3. 不懂技术系列--如何快速调试html5页面/手机页面
  4. 金三银四面试季来临,最新BAT面试资料分享给大家
  5. 开发日记-20190906 关键词 当当云阅读 ipad
  6. 网络编程学习笔记(套接口超时)
  7. 使用Keras进行深度学习:(二)CNN讲解及实践
  8. matlab画扇区,NFCDemo NFC读写测试 ,自动读取每个扇区 块的值 matlab 238万源代码下载- www.pudn.com...
  9. Ubuntu KDE中 Kaccounts-provider 问题
  10. 深入理解STM32内存管理
  11. php文件夹转换网页,PHP转换文件夹下所有文件的编码 适合发布网站的其他编码版本...
  12. c语言链表成绩管理系统排序,【C项目】 文件,结构体,链表,排序, 学生信息管理系统...
  13. oracle 11.2.0.4 make 报错,linux7安装oracle11.2.0.4RAC注意事项
  14. new操作符内部原理(二) 及 delete和free
  15. 简易编程入门Part1
  16. android模拟器如何增加RAM
  17. python删除列表元素delete_Python3 tkinter基础 Listbox delete 删除单个、所有元素
  18. 关于机壳地和板子地(GND)的连接
  19. 刚开始创建maven工程时会出现plugins爆红的问题
  20. 20170622《指导生活的算法》

热门文章

  1. c char转int_C/C++基础之sizeof使用
  2. 你对java的理解_面试官:谈谈你对Java的理解
  3. java 按钮垂直居中_WPF按钮中的文本内容未垂直居中
  4. 1. C++dump编程
  5. centos修改jdk之后无法生效问题
  6. java.io.File 的一些记录
  7. Lync 小技巧-52-Lync 2013-不加域-客户端-2-导入-证书-信任链
  8. ACS——网管的九阳神功
  9. Java-JavaMail邮件开发(1)Java Mail
  10. [leetcode] (周赛)869. 重新排序得到 2 的幂