微服务简介

作者: 董二弯 | 来源:发表于2019-03-24 12:27 被阅读3次

在学习spring cloud构建微服务之前,我们先对比于单体架构来了解微服务的优势和不足。

单体架构

所谓单体应用就是将所有的业务场景的表示层、业务逻辑层和数据访问层都放在一个工程中,最终经过编译、打包,部署在一台服务器上。

不足:

1.业务越来越复杂:代码可读性、可维护性和可扩展性下降。

2.并发能力有限:随着用户越来越多,程序承受的并发越来越高,单体应用的并发能力有限。

3.测试的难度越来越大:随着业务的扩张,修改或者增加业务会给其它业务带来一定的影响,导致测试难度增加。

解决以上的并发能力有限的问题,可将单体应用集群部署,并增加负载均衡服务器。这种方式改善了系统的性能,但还是存在不足。

1.系统依然是单体,代码可读性和维护性差。

2.持续交付能力差,业务越复杂,代码越多,修改代码和添加代码的时间越长。新人熟悉代码的时间长、成本高。

微服务

概念:引用“微服务”这一名词的发明人Martin Fowler的理解。 将单一程序开发成一个微服务,每个微服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP RESTFUL API。这些服务围绕业务能力来划分架构,并通过完全自动化部署机制来独立部署。这些微服务可以使用不同的编程语言,以及不同的数据存储技术,以保证最低限度的集中式管理。

相对于单体服务,微服务的主要体现以下方面的优势

1.将一个复杂的业务分解成若干小的业务,为每个服务拆成一个服务,将复杂的问题简单化。

2.微服务系统是分布式系统,服务与服务之间没有任何的耦合,具有极强的横向扩展能力。

3.服务之间通过HTTP通信协议来通信,使得微服务可以采用任何得=的开发语言和技术来实现。可以选择最适合自己的开发语言和技术,提高开发效率,降低开发成本。

4.减少了测试和部署的时间。每个服务单独部署,测试时只需要部署修改的那个服务,不用像单体应用一样部署整个应用。

5.微服务在CAP理论中采用的时AP架构,即具有高可用和分区容错的特点。高可用体现在大量的微服务集群,实现了7*24小时不间断的服务。另外,分期容错也使得系统更加的健壮。

凡是都有两面行。微服务也有它的不足。

1.构建复杂度高,需要掌握更多的架构知识和框架知识。

2.分布式事务控制,每个微服务有独立的数据库,在协同操作数据时,保证数据的一致性问题较复杂。

3.服务划分不易,需要依靠团队人员对业务的熟悉程度和理解程度。

4.服务的部署复杂,需要开发人员或运维人员对微服务系统有足够强的控制力。

总结

技术应该是随着业务的发展而发展的。当业务很单一时,单体架构够用的情况下,就应该用单体应用,因为它开发速度快,性价比高。但是随着业务的不断发展,用户量不断增加导致单体应用使用很不爽时,就可以考虑微服务架构的系统。在当今大数据时代,微服务也是发展的趋势,所以微服务技术是很重要的开发技能。在之后的章节一起学习微服务架构框架spring-cloud。

相关文章

  • Asp.net Core 微信公众号开发教程(4)——微信签名认

    微信接入签名认证微信服务号开发简介:Asp.net Core 微信公众号开发教程(4)——微信签名认证微信接入 ...

  • 服务简介

    服务Service 就是默默运行在后台的组件,可以理解为是没有前台的activity,适合用来运行不需要前台界面的...

  • 开源项目收集

    Springboot开源项目收集 支付服务 简介:支付服务:支付宝、微信、银联详细 代码案例,目前已经1800+S...

  • 微信公众号开发C#系列-1、微信公众平台注册

    微信公众号简介 微信公众号分为服务号、订阅号、企业号,订阅号可以个人申请,服务号和企业号要有企业资质才可以。 我们...

  • 微博视频技术团队2019年校招

    团队简介:微博视频技术团队承载了微博视频业务模块和基础服务开发,业务模块上,包含微博视频、微博故事、微博全景、微博...

  • 微信公众号开发入门

    微信公众号开发简介 微信分为几个不同的号,为订阅号、服务号、企业号,其中订阅号是免费的,服务号和企业号是要mone...

  • Centos7搭建DHCP服务器

    一、DHCP服务简介 ****1. DHCP服务简介**** DHCP(Dynamic Host Configur...

  • 微服务首谈

    微服务简介 首先来谈一下什么是微服务? 微服务近几年如此过火,到底是什么优势吸引了无数开发人员热衷于微服务架构.微...

  • 2022年了你必须要学会搭建微前端项目及部署方式

    一、微前端简介 微前端是一种类似于微服务的架构,它将微服务的理念应用于浏览器端,即将 Web 应用由单一的单体应用...

  • 微服务简介

    前言 在这个信息横纵交错的大数据时代,以前的单应用架构完全支撑不起现在的流量了,于是技术架构不断演变。现如今火爆的...

网友评论

    本文标题:微服务简介

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