微服务开发攻略

微服务正成为最热门的系统架构之一。作为一名开发者,是否已经了解微服务?微服务系统?微服务应用模式?如何提升微服务开发能力。。。。。。 本文带你一起学习微服务。

1       什么是微服务

微服务是架构 层的一个概念,通过分解(业务单元),将项目拆解出 n 个单元,互相没有强依赖关系(解耦),自我准备需要的依赖条件,进而达到可以独立运行,不再受环境与地点上的限制。

2       微服务的由来

微服务最早由 Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的一种方式,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。

3       应用模式比较

3.1       传统应用模式

我们在以往的传统应用模式下,大致是所有的功能都集成在同一个应用中,这种模式一般被称为单体式开发,即所有的功能打包在一个 war包内,然后部署在jee中,这里面包含了所有的业务逻辑,触发器,大部分的还包含了ui,如下图:

这样的模式下暴露出了他所致命的缺点:

•  代码管理比较难,因为大家都在同一个工程下,会经常的发生冲突

•  新人不太容易上手,因为耦合性太高,调查一个问题时往往会牵扯更多的功能

•  打包危险度大,往往只是提交很小一部分的修改却需要全量打包

•  运维危险度大,可能只是某一个功能崩溃了就会导致整个系统瘫痪

•  不容易扩展,如果只是一个功能的请求量突增,不容易扩展

•  部署要求较高,这样的应用往往需要高配置的主机来承载

3.2      微服务应用模式

我们在做架构设计的时候,常常需要遵守三个标准(敏捷性、用户体验、成本),基于微服务的架构设计目的就是有效的拆分应用,每个应用单独管理,进而实现敏捷开发和部署,如下图:

由一些独立的应用组合成一个软件系统,每个服务独立运行,跑在自己的微环境中,每个服务独立开发可以按照业务单元进行拆分,实现了跨组织跨地域协同的问题,多个服务采用分布式进行管理,且具有强隔离性。

4       微服务架构

在微服务架构中,除了每个业务单元的服务外,就是那些服务治理组件了,比如:服务中心、服务消费、负载均衡、断路器、智能路由、配置管理等,这些个组件互相配合再加上业务的各个微服务,共同组建了一个微服务系统,一个简单的微服务系统如下:

用户通过客户端发起请求, nginx负载到某个zuul上然后转发到相应的微服务上,微服务间通过rpc或者mq进行通信,通过配置服务获取配置数据,最终将整合后的结果返回给用户。

5       微服务的优势

通过以上介绍,我们不难看出微服务的优势:

1. 他将巨大的单体式应用分解出多个服务,解决了复杂性的问题,在总功能不变的情况下,系统被分解成多个可管理的服务,每个服务都用rpc/mq来驱动和定义清晰的api边界,为很难实现的功能提供了模块化的解决方案,并且更容易开发和维护。

2. 在这样的架构模式下,可以实现每个服务可由不同的团队来开发,从而放宽了技术选型,只需提供标准的restapi即可,在这种自由模式的开发背景下,开发者可以选择较新的技术,由于每个服务的功能很小,所以开发的难度也很低,即使出现了代码重写的问题难度也不是很大。

3. 由于微服务采用的是独立部署,开发者在部署的时候不用考虑其他的服务对自己的影响,这种改变加快了部署速度并减少了部署风险,微服务架构使ci/cd成为可能。

了解了微服务的基本概念与结构,应用模式和特点等,那么如何学习微服务技术、提升微服务开发的能力?华为云学院( https://edu.huaweicloud.com/ )已上线课程——《微服务上云实践》,从理论到实践,一站式攻克微服务!

服务中心、路由网关、服务生产与消费、 Springboot、数据库、缓存服务、消息系统、测试运维等八大方向,只有你想要的,没有学不到的!

对微服务技术有疑问、实践过程碰到问题?统统不要担心,现在学习更有专家驻群、一对一解答 &指导!

快来华为云学院( https://edu.huaweicloud.com/ )报名学习吧!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31556022/viewspace-2214922/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31556022/viewspace-2214922/

Hi Developer,您有一份来自华为云学院的微服务开发攻略请查收相关推荐

  1. 华为开发者大会2022直播攻略请查收!

    原文: 华为开发者大会2022直播攻略请查收!,点击链接查看更多技术内容. 华为开发者大会2022(Together) 11月4日 准时开场 两大主题演讲 精彩就绪! 大会主题演讲 为你呈现鸿蒙生态新 ...

  2. 华为云学院干货:服务创新大舞台在这里!

    华为云学院干货:服务创新大舞台在这里! Service Stage--一站式微服务云应用DevOps平台.新时代带来新机遇,同时企业IT系统也面临前所未有的挑战.伴随传统业务云化,海量用户进入,访问量 ...

  3. 请查阅和请查收的区别_拯救尾款人!这份宠粉攻略请查收

    "你走过最远的路,就是马爸爸的套路" 11月1号就开始支付第一波尾款 这两天办公室见面打招呼不免先问一句, "你买了多少啊?" 继"打工人" ...

  4. 华为云PaaS平台微服务治理5云容器引擎CCE

    5云容器引擎CCE 5.1CCE介绍 云容器引擎CCE(Cloud Container Engine)提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动 ...

  5. 汽车十大轮胎排名韩泰轮胎:这份秋冬季汽车轮胎挑选攻略请查收!

    人间朝暮,叶落惊秋.随着气温的下降,北方的车友们此时是不是已经默默的把更换秋冬季轮胎提上日程了呢?轮胎作为汽车的重要部件之一,直接关系着行车安全.可是如今的轮胎市场产品五花八门,如何才能选出一款优秀. ...

  6. 520这份花式表白攻略请查收

    马上又到520了,粉粉们是不是都已准备好一波浪漫的表白了呢?无论是怦然心动的初恋,还是岁月静好的缱绻,爱就要表达出来,浪漫永远不会过时!此时不表白更待何时?在这个浪漫的初夏时节,送你一份特别的花式表白 ...

  7. 华为云企业主机安全服务之“网页防篡改”:拒绝网页变脸,服务实时在线

    网页篡改不息,不良影响连连 2019年上半年,国家互联网应急中心(简称"CNCERT")监测发现并协调处置我国境内遭篡改的网站近4万个,其中被篡改的政府网站有222个.与2018年 ...

  8. PPT下载 | 一份来自华为内部的5G培训课件

    今天给大家分享一份来自华为的5G培训PPT,希望大家对5G技术有一个全面的了解. 我们先来看看部分内容: 完整版获取方式见文末 1.5G愿景.应用场景.协议进展及产业发展 2.5G网络组网方式及演进 ...

  9. 华为云MVP:来自工业制造领域的微服务与云平台实践

    [摘要] 首先,和大家先聊聊的是为什么微服务.DevOps和云计算会在各个产业大行其道;其次,再谈谈微服务架构设计有那些自己独特的设计思想,和传统的SOA有什么区别;最后,我们再一起看一看在工业领域云 ...

  10. 【华为云专家原创】 服务注册与发现如何满足服务治理?

    摘要:本文主要介绍了服务注册与发现的原理,以及常用的几种服务注册与发现组件介绍对比. 在单体应用向微服务架构演进的过程中,原本的巨石型应用会按照业务需求被拆分成多个微服务,每个服务提供特定的功能,并可 ...

最新文章

  1. jenkins2 multibranch
  2. 自己收集的一些技术blog-javascript
  3. Can't use asio::placeholders::error
  4. js调试之console.log()
  5. Android实现系统ROOT, 并能赋予app root权限
  6. 高并发大流量专题---10、MySQL数据库层的优化
  7. java程序员必看经典书单,以及各个阶段学习建议
  8. 续写传奇,浪潮存储凭何脱颖而出
  9. 66. 加一(C, Python)
  10. opencv批量灰度转换_OpenCV图像处理之常见的图像灰度变换
  11. 供应链管理优化和革新八大关键因素
  12. CentOS和Ubuntu哪个好?
  13. Rect类基本函数使用
  14. 医疗大数据与智能医疗临床诊断(大数据人工智能公司)
  15. 富文本 和 图片裁切
  16. python用函数对列表删除_关于python:如何使用range()函数从列表中删除项目时迭代列表?...
  17. 计算机专利英语笔译,基于Trados2014的专利翻译实践报告-英语笔译专业论文.docx...
  18. 小说作者推荐:休屠城合集
  19. html后台管理模板(源码)
  20. 2023速卖通开店入驻流程及费用,新店运营思路

热门文章

  1. 中奖名单模板_获奖名单公布模板速来选择
  2. 2022年餐具行业市场分析
  3. 【Flash】关于Flash停止支持相关问题总结
  4. 【kimol君的无聊小发明】—用python写音乐下载器
  5. linux的火狐浏览器怎么用,火狐浏览器怎么用 火狐浏览器使用方法大全
  6. win10-11全版本下载地址MSDN纯净版ISO-20220217更新
  7. 单细胞文章专列——细胞图谱
  8. webservice和jms的区别
  9. java盘古分词_盘古分词-开源中文分词组件 搜索引擎
  10. 【干货】从QQ群起家的情趣商城站长之路