美文网首页
微服务简述

微服务简述

作者: sunshaoping | 来源:发表于2018-09-27 23:35 被阅读0次

前言:微服务是最近几年流行的一种架构思想,首先我们可以看下某官方发言人对于微服务的解释:微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。

说了这么多,感觉像是没听懂呢,不用着急,那我就把微服务做下总结吧!

1.独立部署,灵活扩展 传统的单体架构是整个系统为单位进行部署,而微服务则是以每一个独立组件(例如用户服务,商品服务)为单位进行部署。这里我打个比方,就拿淘宝来说,该网站是在某一时刻访问量会暴增的电商网站,其中有个人用户中心,个体商户,商品订单等等方面,一般在双11时期,它的订单方面的并发量肯定特别的高,所以就需要加强这个模块的高并发处理量,这样我们就可以使用微服务来实现订单模块的加强。而这几年流行的Docker,又为微服务架构提供了有效的容器(都不晓得,这个容器技术感觉有点像当年的python,因为人工智能一下子火起来了)。

image.png

2. 资源的有效隔离 微服务的设计的原则之一,就是每个微服务拥有独立的数据源,如果A想读写B的数据,就只能调用B对外的接口来完成,这样也可以避免多服务之前争用数据库的问题,同时,这里就涉及到了各个微服务之前的通信问题。由于每一个微服务都是在容器上运行,包括项目的配置环境和使用数据库的版本都可以独立开来。

3.团队的组织架构调整 之前的团队都是前端有前端的小组,后端有后端小组,测试有测试小组。而微服务的设计思想是对团队划分有了一个新的架构,让前端和后端及测试、DBA成为一个整体的小组,单独负责一个订单模块,这样垂直划分有利于各模块的独立开发。

image.png

说了微服务这么的优点,我个人感觉微服务也有一下几个缺点:

  1. 当然是各个服务之前的分布式通信问题,各个服务要实现互相的通信;
  2. 我觉得是对于数据的操作,可能A服务需要操作B服务的数据,这个时候如何做到协同一致,避免数据出现错误;
  3. 不同微服务实例的管理,可能服务A是用python来做的,服务B确是用java来做的,这就要求配置不同的开发环境和生产环境,同时对后端开发人员的技能要求也会高些。
    PS:这些只是目前我对于微服务的一些简单理解,如有不足之处,还请大家提出改正,谢谢!

相关文章

  • 微信第三方开发-技术摘要

    微信平台开发 1.微信第三方平台开发架构 2.第三方服务器验证 简述: 微信服务器向第三方服务器发送请求,请求...

  • SpringCloud学习概览

    SpringCloud微服务简述

  • week_10_DNS、HTTP

    Q: 1、简述DNS服务,并搭建DNS服务器,实现主从,子域授权2、简述HTTP服务,并实现基于用户的访问控制,虚...

  • 基于 React & TS & Webpack

    m-fe/react-ts-webpack 在 Web 开发导论/微前端与大前端一文中,笔者简述了微服务与微前端的...

  • samba服务简述

    什么是samba samba是实现windows、linux、unix的系列主机之间文件共享存储的一种解决方案。s...

  • NFS服务简述

    NFS是什么 NFS是附加在本地文件系统之上的一层虚拟层,这个虚拟层可以使一个本地文件系统通过网络输出给其他主机访...

  • 微服务简述

    前言:微服务是最近几年流行的一种架构思想,首先我们可以看下某官方发言人对于微服务的解释:微服务架构风格是一种将单个...

  • 微服务简述

    微服务的4个设计原则 本文介绍微服务架构的演进、优缺点和微服务应用的设计原则 微服务架构演进过程 最早应用是单块架...

  • 微服务简述

    一、微服务定义 The microservice architectural style is an approa...

  • Samba服务简述

    Samba Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB...

网友评论

      本文标题:微服务简述

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