微服务架构与SpringCloud

微服务架构简述

通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的自己的进程中,服务之间互相协调、互相配合为用户提供最终价值。服务之间采用轻量级的通信机制互相沟通(通常是基于HTTP的Restful API) 每个服务否围绕着具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建,可以有一个非常轻量级的集中式管理来协调这些服务,可以使用不同的语言来编写服务,也可以选择不同的数据存储。

微服务化的核心就是将传统的一站式应用,根据业务拆分为一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看就是一种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,甚至可以拥有自己独立的数据库。

分布式系统,各个模块分出多个系统服务,各自拥有一个进程,独立部署

微服务

微服务强调的是服务的大小,它关注的是某一个点,是具体解决某一个问题/提供落地对应服务的一个服务应用,狭义的看,可以看做Eclipse 里面的一个微服务工程或者Module

微服务架构的优缺点

优点:

  • 每个服务足够内聚,足够小,代码容易理解这样能聚焦一个指定的业务功能或者业务需求
  • 开发简单、开发效率提高,一个服务可能就是专一的只干一件事
  • 微服务能够被小团队单独开发,这个小团队是2到5人
  • 微服务架构是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的
  • 微服务是使用不同的语言开发
  • 微服务易于和第三方集成,允许容易且灵活的方式集成自动部署,通过持续集成工具,如:Jenkins、Hudson、Bamboo
  • 微服务易于被一个开发人员理解、维护
  • 微服务只是业务逻辑的代码,不会和Html和css 或其他页面组件混合。

缺点:

  • 开发人员要处理分布式系统的复杂
  • 多服务运维难度随着服务的增加,运维的压力也在增加
  • 系统部署的依赖
  • 服务间通信成本
  • 数据的一致性
  • 系统集成测试
  • 性能监控

微服务落地技术

微服务落地技术
微服务落地技术

各微服务架构对比

各微服务架构对比

SpringCloud

SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。

SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包

SpringCloud 组件

可参考SpringCloud 中文文档传送门查看SpringCloud 生态圈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/556311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应用商店应用计算机,基于中国虹计算机的应用商店的设计与实现

摘要:随着互联网的不断发展,第三方应用商店的活跃用户数已达到数亿规模,而且仍然在不断增长,同时各终端厂商也陆续推出了适用于自家终端的应用商店.中国虹计划课题项目经过多年发展,其核心载体中国虹计算机也得到了大量的推广使用,但是中国虹计算机现有的云桌面应用…

python对字符串数组进行排序、依据字符数_Python进行数据的排序以及字符串的操作...

数据异常值的过滤在数据分析中,经常需要检测数据结构中的异常值。我们还是举个例子,先来创建一个包含三列的DataFrame对象,每一列都包含1000个随机数。可以用describe( )函数查看每一列的描述性统计量。例如,你可以会将比标准差大…

REST和RPC是什么东东?两者有什么区别

1 REST与RPC概念 什么是REST REST是一种架构风格,指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。REST规范把所有内容都视为资源,网络上一切皆资源。 REST并没有创造新的技术,组件或服务&#xff0c…

简述计算机进行远程桌面管理操作过程,服务器应用之“远程桌面连接”(操作篇)...

在上篇《服务器应用之“远程桌面连接”(部署篇) 》《服务器应用之“远程桌面连接”(建立篇) 》,我们介绍了远程桌面的部署和建立方法。在远程桌面连接成功后就可以进行一些远程桌面连接可以进行的计算机管理了。具体可以进行的远程桌面连接操作如下:1. 使…

未为dll加载任何符号_专家发现aspersky 和Trend Micro安全性解决方案中的DLL劫持问题...

SafeBreach的研究人员发现了Kaspersky安全连接、Trend Micro最大安全性和Autodesk桌面应用程序中的几个DLL劫持漏洞,黑客可以利用这些漏洞进行DLL预加载、代码执行和权限升级。第一个问题在卡巴斯基安全连接(KSDE) VPN客户端,跟踪为CVE-2019-15689&#…

什么是Eureka? 单机版Eureka如何使用?

Eureka 是什么? Eureka 是Spring Cloud的服务治理组件,有三个核心角色: 服务注册中心、服务提供者、服务消费者。Eureka 主管服务注册中心。 是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于REST的服务,用…

ntko跨浏览器插件_继泄露版后,微软全新 Chrome 内核 Edge 浏览器你都测试过了吗?...

尽管微软的 Office 和 Windows 10 势头不错,但像 WP 手机、XBox 等方面似乎并未获得预期的成功。而先前为了替代老旧的 IE 浏览器,微软倾力开发的 Edge 也未见起色。不过微软也一直在努力变得更加开放,比如发布 VS for Mac、Office for Mac、…

软考计算机英语考题,《全国计算机软考网管英语试题及答案.doc

《全国计算机软考网管英语试题及答案全国计算机软考网管英语试题及答案(1)Heterogeneous network environments consist of computer systems from(1)vendors that run(2)operating systems and communication protocols.An organization that(3)its computer resou…

如何将单机版的Eureka服务改为集群版Eureka服务

Eureka 集群原理 基本原理 上图是来自eureka的官方架构图,这是基于集群配置的eureka; 处于不同节点的eureka通过Replicate进行数据同步Application Service为服务提供者Application Client为服务消费者Make Remote Call完成一次服务调用 服务启动后向…

python统计字数分布可视化展示_数据的概率分布并用python实现概率分布可视化图...

一、基础概念先来看下数据的类型,常见的数据分类方式有三种:第一种是按照数据的结构属性分类,根据数据的存储形式分为结构化数据和非结构化数据,例如数据库的存储对象基本上都是结构化数据,结构化数据是进行数据分析的…

台式计算机读不到u盘怎么回事,电脑读不出u盘怎么办

把U盘插入电脑USB接口中,却发现找不到U盘图标,甚至连安装U盘驱动的提示也没有,那么电脑读不出u盘怎么办呢?天学习啦小编就和大家说说电脑读不出u盘的解决方法。电脑读不出u盘解决方法1、首先应该排除是否是由于电脑系统问题,具体…

Eureka 与Zookeeper 的区别,Eureka相较于Zookeeper好在哪?

传统的ACID A(Atomicity) 原子性C(Consistency) 一致性I (Isolation)独立性D(Durability)持久性 关系型数据库(MySQL,Oracle,SqlServer&#xf…

断网情况下安装python_断网环境下利用pip安装Python离线安装包

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧。# 生产环境 windows 7# python 2.7.9# pip 1.5.2友情提示…

计算机英语词组,计算机专业英语词组.doc

Integrated circuit 集成电路Central controller 中央控制器Trigonometry function 三角函数Square root 平方根Floating point 浮点数Real number 实数Logic operation 逻辑运算Superscalar computer 超级计算机Hard disk drive 硬盘驱动器Personal computer 个人计算机Floppy…

python 整数输出 d f_如何将数字(10,11,12,13,14,15)分配给Python 3中的字母(A,B,C,D,E,F)?...

您可以在代码中添加更多行来执行此操作:首先创建两个带有字符的列表,一个带有要映射的整数,然后从那些创建dict:list_1["A","B","C","D","E","F"]list_2[10,11,12,1…

如何将Springboot项目成功部署到linux服务器上?

springboot的jar包方式 idea默认就是jar打包方式所以直接使用maven工具按照步骤点击就可以直接打包ps:打包前你的数据库相关的连接信息要记得修改,不能再用本地的了 第二步:Maven clean :清除编译后的目录,默认是target目录 [IN…

2018年3月计算机二级考试题,2018年3月计算机二级考试Access综合试题十

2018年3月计算机等级考试即将开始,小编在这里为考生们整理了2018年3月计算机二级考试Access综合试题,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦。2018年3月计算机二级考试Access综合试题十(1)要将“选课成绩”…

sqldataadapter.fill 索引超出了数组界限_小学生学习C++||第十五节 数组

存储数据的方式第一种,变量:存放1个学生的数学成绩可以定义1个变量存放,那么如果想要存放100个学生的数学成绩应该如何存储呢?第二种,数组:引入数组概念:可以用来表达类型相同的元素的集合&…

计算机组组内培训记录,计算机教研组活动记录.doc

计算机教研组活动记录PAGE \* MERGEFORMAT 3计算机基础教研组活动记录活动时间2017年10月17日参加人员:田飞, 许丽, 张刚, 夏丽, 刘璐, 苑瑜, 王梦, 靳双正, 梁宇, 常喜活动主题如何提高计算机课程教学质量活动过程摘要活动记录:田飞——今天我们就如何提…

数据字典在sga的哪一个组件中缓存_【赵强老师】Oracle数据库的内存结构

首先,我们通过一张图片来了解一下Oracle数据库的内存结构,如下:每个数据库实例有两个关联的内存结构—系统全局区(SGA),程序全局区(PGA)。系统全局(SGA):一组共享的内存结构(称为SGA 组件),其中包含一个OracleDB 实例的…