SpringCloud介绍(一)

1.1         SpringCloud介绍

1.1.1      微服务架构演化

 

 

 

简而言之,微服务就是开发一组小型服务的方式来开发一个独立的应用系统,每个小型服务都运行在自己的进程中,并采用HTTP资源API轻量级的机制来互相通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据库存储技术。

其实微服务就是在业务垂直拆分的基础上,拆分的粒度更细。

1.1.2      微服务的优点

1.    易于开发和维护

业务分拆,一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个微服务相对简单。每个微服务业务复杂度低,方便理解、维护和调试。整个应用由若干个微服务构成。

2.    单个微服务启动快

单个微服务代码量少,启动比庞大的项目要快。

3.    故障隔离

某个服务宕机,其他服务照常使用。单体项目就可能发生雪崩,造成整个系统宕机。

4.    局部修改容易部署

传统单体项目修改一个功能就需要重新部署整个应用,而微服务只需对需要修改的服务重新部署,其他服务无需停止,甚至不相关的业务仍然可以继续执行。

5.    技术栈不受限

在微服务中,支持技术异构,可以根据软件团队擅长的技术去实现,如javac#cphp等,也支持异构数据库mysqloraclesqlServer等。

1.1.3      定义

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer's own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

Spring Cloud就是一个全家桶,整合了市面上最好最先进的技术,形成一个工具集,并简化其中的操作,引领编程新方式。

1.1.4      官网

官网:       http://projects.spring.io/spring-cloud/

手册:       http://cloud.spring.io/spring-cloud-static/Dalston.SR2/

中文:       https://springcloud.cc/

1.1.5      核心功能

configuration management          配置中心

service discovery                    服务发现

circuit breakers                  断路器

intelligent routing               智能路由

micro-proxy                       微代理

control bus                       控制总线

one-time tokens                   一次性令牌

global locks                      全局锁

leadership election               选举算法

distributed sessions              分布式会话

cluster state                         集群状态

1.1.6      核心组件架构图

 

 

 

1.1.7      规划内容和步骤

注册中心Eureka           eureka + provider-user + consumer-client

前端负载均衡Ribbon       consumer-ribbon

RESTFul简易封装      consumer-ribbon-feign

断路器支持               consumer-ribbon-feign-hystrix

API网关 Zuul         gateway-zuul

异构开发语言Sidecar  sidecar + nodejs

配置中心config           configserver+ consumer-ribbon-feign-hystrix

 

转载于:https://www.cnblogs.com/wood-life/p/10329375.html

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

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

相关文章

最短路径问题总结,时间复杂度,空间复杂度对比(JAVA)

最短路径问题总结 图中还有些地方没有完善,但是一时也没没办法解决,希望大家知道的能够提供一下表中不足的地方,万分感谢!!! 最短路径算法(一)–DFS/BFS求解(JAVA &…

树--树的基本性质(JAVA)

前几篇文章介绍了图的搜索算法,最短路径算法,接下来介绍树: 树和图 树实际上就是不含回路的无向连通图 虽然树不连通,没有回路了,但是这也使得树这种数据结构有了更多的特性: 1.一棵树中的任意两个结点…

看后端程序员调试CORS的姿势

# 目录 为什么有同源策略? 需要解决的问题CORS跨域请求方案 preflightwithCredentials附:高效、优雅地调试CORS实现为什么有同源策略? 同源策略Same Origin Policy 是一种约定,是浏览器最核心的安全功能:该策略允许在…

图论算法(四)--最小生成树的Kruskal [ 加边 ] 、Prim [ 加点 ] 的解法(JAVA)

之前我们介绍了求最短路径算法,现在又讲最小生成树算法,这两个算法有什么区别呢? 首先要明确,最短路径和最小生成树是两个不同的概念。 最短路径是对于一个图的两个结点而言的。在一个图中,结点A通过某些结点和边可以…

express+handlebars 快速搭建网站前后台

最近在重构公司网站,原来网站使用PHP,前后端不分离,添加与更新网站内容仍使用原始方法,先出布局再把调好的布局给PHP后端开发,花时间长,维护不易。因此决定将网站前后端分离,核心功能含网站下单…

定义一个二维数组并输入数据,将二维数组元素的值按升序排列,并输出排序后的二维数组。

目录 问题: 回顾: 给出两种做法: 解法一:调用qsort 函数进行排序 代码: 运行结果: 解法二:冒泡排序 代码: 运行结果: 回顾里的4种方法的模板参考: 1.冒泡排序…

第五届省赛(软件类)真题----Java大学C组答案及解析

第五届省赛(软件类)真题—-Java大学C组答案及解析 杨辉三角调和级数回文素数过大年位平方和单位分数n级台阶 一、杨辉三角 二项式的系数规律,我国数学家很早就发现了。 如【图1.png】,我国南宋数学家杨辉1261年所著的《详解九…

Angular4.x 安装|创建项目|目录结构|创建组件

Angular4.x 安装|创建项目|目录结构|创建组件 安装最新版本的 nodejs node.js 官网:https://nodejs.org/zh-cn/ 去官网下载 node.js,下一步下一步就可以了。只要 node.js 安装成功,那么 npm 也会帮你安装完成! 注意:请…

第五届省赛(软件类)真题----Java大学B组答案及解析

第五届省赛(软件类)真题—-Java大学B组答案及解析 正则切分调和级数n的n次幂七对数字勾股定理九阶数独G将军 一、正则切分 java中提供了对正则表达式的支持。 有的时候,恰当地使用正则,可以让我们的工作事半功倍! …

第五届省赛(软件类)真题----Java大学A组答案及解析

第五届省赛(软件类)真题—-Java大学A组答案及解析 子序列最大长度莱布尼茨公式n的n次幂七对数字勾股定理九阶数独矩阵射线 一、子序列最大长度 一个串的子串是指该串的一个连续的局部。如果不要求连续,则可称为它的子序列。 比如对串&…

第六届省赛(软件类)真题----Java大学C组答案及解析

第六届省赛(软件类)真题----Java大学C组答案及解析隔行变色立方尾无穷分数循环节长度格子中输出奇妙的数字加法变乘法移动距离打印大X垒骰子 一、隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的…

spring_01概念及案例

1.什么是IOC?   IOC概念:inverse of Controll,控制反转,所谓控制反转,就是把创建对象和维护对象关系的权利从程序中转移到spring的容器中(applicationContext.xml),而程序本身不再维护 2.什么是di? dependency injection,依赖注入,di和IOC是一个概念,spring的设计者认为di等…

斐波那契数列(二)--矩阵优化算法

之前写了一篇从斐波那契数列分析递归与动态规划(JAVA)来优化斐波那契数列,这样可以使算法的时间复杂度从O(n^2)变到O(n),这是使用递归公式f(n)f(n-1)f(n-2)求斐波那契数列的最优算法,但是这只是一维世界下的极限。下面我们将其从一…

第六届省赛(软件类)真题----Java大学B组答案及解析

第六届省赛(软件类)真题----Java大学B组答案及解析三角形面积立方变自身三羊献瑞循环节长度九数组分数加法变乘法牌型种数饮料换购垒骰子生命之树 一、三角形面积如【图1】所示。图中的所有小方格面积都是1。那么,图中的三角形面积应该是多少…

【学习总结】GirlsInAI ML-diary day-11-while循环

【学习总结】GirlsInAI ML-diary 总 原博github链接-day11 认识while循环执行 对于while/break/continue的认识 新值替换变量 一般while语句 无限循环 & break continue 作业 1-更新变量 这一条没什么新的东西,别的语言也一样:python在赋值时&#x…

@PathVariable、@RequestParam、@RequestBody注解

讲解更加详细的参考资料 https://blog.csdn.net/u011410529/article/details/66974974 https://www.cnblogs.com/soul-wonder/p/8920553.html PathVariable注解的作用,获取请求地址中传递的参数,即:从URL模版中取值。 RequestParam 是从reque…

深入浅出讲算法思想--蛮力法思想分析及应用

蛮力法(brute force method,也称为穷举法或枚举法)是一种简单直接地解决问题的方法,常常直接基于问题的描述,所以,蛮力法也是最容易应用的方法。虽然,用蛮力法设计的算法时间特性往往也是最低的…

光耦在短距离通信中的应用

在高低压隔离系统设计中,难免会使用光耦来通信。在选择光耦器件时,需要考虑光耦允许的最大通信速率,否则在高速通信时会失败. 对于高速的光耦应用时,需要注意电流传输比率和开关速度。 参考文档《Basic Characteristics and Appli…

从NetCore报错到MySql安全

从NetCore报错到MySql安全 原文:从NetCore报错到MySql安全之前项目在测试服务器上的一些接口时不时会报出下面的错误:(采用Abp框架) "SocketException: 你的主机中的软件中止了一个已建立的连接。 STACK TRACE: at MySqlConnector.Pr…

减治法在查找算法中的应用(JAVA)--快速查找

减治法在查找算法中的应用 快速查找:选择问题是求一个n个数列表的第k个最小元素的问题,这个数k被称为顺序统计量。对于k1或kn来说,这并没有什么意义,我们通常会要找出这样的元素:该元素比列表中一半元素大&#xff0…