美文网首页
为什么使用微服务(简单理解)

为什么使用微服务(简单理解)

作者: zmozz | 来源:发表于2020-04-09 23:42 被阅读0次

说微服务之前,先说下单体应用,将所有的功能都由一个应用实现,基本上没有外部依赖,这种就是单体应用,这种应用的开发和测试起来非常高效,但是随着业务的发展单体应用的代码会越来越多,代码的复杂度和逻辑也越来越高,应用维护起来非常困难,总的来说,大量业务代码的堆积会导致应用存在以下几个问题:

1.维护难:代码复杂度高,维护起来非常困难

2.定位问题难:很多代码揉到一起,出现问题难定位

3.可靠性差:牵一发动全身,每次改动都有可能导致所有服务不可用

4.伸缩性差:当容量不够时,只能进行横向扩容,无法根据有容量风险的模块进行垂直扩容

随着业务的发展,单体应用越来越庞大,此时我们就应该把单体应用的模块进行拆分,可以称为服务拆分,服务拆分后最终的应用层的形态就是,一个单体应用被拆分成了很多子应用,每个子应用都具备一些独立的能力,初级的微服务雏形就有了。微服务有哪些好处:

1.易于开发和维护:子应用相对比较小,外部依赖比较少,提供的能力都是某个领域的能力,开发和维护起来比较容易

2.可靠性高:某个子应用出现问题,对业务而言只是某个模块不可用,整体业务还是ok的

3.伸缩性好:可以针对特定的子应用进行扩容(从业务上看就是针对某个模块的能力进行扩容)

微服务拆分(应用的拆分)最难的是拆分的边界,即哪些服务应该放在在一起,哪些服务应该隔离开,高内聚低耦合是一个目标,指导原值可以可以有:领域模型、限定上下文、组织架构、康威定律,

实现微服务的技术框架在国外主要是SpringCloud 在国内主要是Doubbo框架

相关文章

  • 为什么使用微服务(简单理解)

    说微服务之前,先说下单体应用,将所有的功能都由一个应用实现,基本上没有外部依赖,这种就是单体应用,这种应用的开发和...

  • 基于Hexo和Github Pages搭建个人博客

    为什么要使用Hexo和Github Pages搭建个人博客? 简单 容易使用 (操作简单) 省钱 (不用买服务器,...

  • vsftpd

    为什么要安装vsftpd 概念: 简单安装使用 我安装的是vsftpd 启动vsftpd服务 查看服务器ip 现在...

  • Eventbus3代码分析(三):注解简单使用

    注解简单使用 这里目的是为了理解, 和简单的使用这块理解了,后面都是差不多的 简单理解和使用 自己每次在onCre...

  • 简单理解DNS服务

    原文链接 - Joker's 欢迎大家访问我的个人博客:) 这两天看的东西,突发奇想写篇以“是什么-为什么-怎么...

  • 服务号发送自定义模板消息

    微信服务号发送自定义 模板消息 最近要在搞微信服务号发送 自定义模板,记录一下使用方式(方式很简单) 微信测试号...

  • netty实现简单RPC

    RPC(Remote Procedure Call)-远程过程调用,简单的理解就是像调用本地服务一样使用远程服...

  • 微信公众号开发本地调试

    一:ngrok的使用 基于windows 1:为什么要使用ngrok 在微信开发的时候 需要填写与微信服务器相连接...

  • 什么时候会用到Redux?

    1.为什么使用Redux? 2. Redux工作原理 3.什么时候使用Redux 使用场景: 4.简单理解redu...

  • 微信个人号的养号及引流

    关于养号 微信为什么会被封? 微信号被封的原因很简单,因为这个微信号不像正常使用的微信号。 如果是真人使用的微信号...

网友评论

      本文标题:为什么使用微服务(简单理解)

      本文链接:https://www.haomeiwen.com/subject/kkbkmhtx.html