创建健壮的微服务架构所涉及的组件

在本文中,我们将简要学习构建强大的微服务应用程序所需的各种软件组件。 在简要了解每个架构组件之前,我们将陈述设计微服务架构时出现的一般查询。

1.微服务架构组件

每当我们创建微服务应用程序时,我们都会想到以下问题

  • 我们将如何注册微服务,以便客户可以使用该注册信息(服务发现)并调用微服务?
  • 我们如何确保所构建的微服务应用程序完全容错并且高度可用?
  • 我们如何确保只有一个接口提供给客户端,从而减少了很多客户端的工作量,并使Micro Services应用程序非常易于使用?
  • 如何无缝平衡传入请求到微服务的负载?

请查看下面的架构图,让我们了解构建架构所涉及的组件是否可以解决上述所有问题:

微服务架构组件

微服务架构组件

1.1 Netflix Eureka服务器

Netflix Eureka充当发现服务器,其中出现后的微服务会将其自身注册为发现客户端。 Netflix Eureka向外部提供了一个REST接口以与之通信。 Eureka还具有另一个名为Eureka Client的软件模块,通过它与Eureka Server交互交互以进行服务发现。 Eureka Client还带有内置的Load Balancer,可以对传入的客户端请求进行负载平衡。

Netflix Eureka Server是上述问题1的答案。

1.2 Hystrix服务器

Hystrix充当容错弹性系统,用于避免软件应用程序完全失败。 它通过提供一种断路器机制来做到这一点,在这种机制中,当应用程序平稳运行而没有任何问题时,电路保持闭合状态。 如果应用程序中连续遇到错误,则Hystrix服务器电路将打开,并且任何对呼叫服务的进一步请求都将被Hystrix停止,而是将请求转移到回退服务。 这样,它提供了一个高弹性的系统。

Hystrix Server是以上问题2的答案。

1.3 Netfilx Zuul服务器

Netflix Zuul Server充当一种网关服务器,其中所有客户端请求hva都通过它,因此它充当一种客户端的统一接口。 客户端使用单个通信协议与所有微服务进行通信,Zuul服务器负责使用其适当的通信协议调用各种微服务。 Netflix Zuul还具有内置的负载均衡器,以负载均衡来自客户端的所有传入请求。

Netflix Zuul Server是上述问题3的答案。

1.4 Netflix功能区

Netflix Ribbon充当一种负载均衡器,在其中负载均衡来自客户端的所有传入请求。 尽管可以将其配置为使用任何其他备用负载平衡机制,但默认情况下,它使用基本的Round Robin负载平衡策略。 Netflix Zuul Server已内置了Netflix Ribbon。 如果要独立使用Netflix Ribbon,我们必须预配适当的Netflix Ribbon Maven软件包,以在任何应用程序中使用它。

Netflix Ribbon Server是对以上问题4的回答。

2.结论

在本文中,我们简要了解了构建Micro Services应用程序时需要使用的所有软件组件。 在下一篇文章中,我们将尝试详细了解Netflix Eureka的工作原理。

翻译自: https://www.javacodegeeks.com/2016/05/components-involved-creating-robust-micro-service-architecture.html

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

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

相关文章

MATLAB画图命令zz

一、散点图 1.1.命令 plot 功能 线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的…

MATLAB判断奇偶数

if mod(n,2)%偶数else%奇数

从percona server 5.7换到mariadb 10.2

过去两年半一直推荐使用percona server,今天开始,因为一些mysql迟迟不不愿意支持的特性,打算换回mariadb 10.2了,具体哪些不说了,总之非常关键,mariadb都支持一两年了,oracle公司因为oracle的原…

jax-rs jax-ws_JAX-WS入门

jax-rs jax-wsJAX-WS代表XML Web Services的Java API。 它是一种Java编程语言API,用于创建Web服务和使用XML进行通信的客户端。 这篇文章是JAX-WS的快速入门。 先决条件 GlassFish与Eclipse集成在一起 。 创建JAX-WS Web服务 1.在Eclipse中创建一个名为“ com.e…

MATLAB求解非线性方程组

function F fun(x)x1 x(1); x2 x(2);F [2*x13*x2-3;3*x12*x2-5];>>fsolve(fun,[0,0])如果有变系数如下: function F fun(x,a,b)x1 x(1); x2 x(2);F [a(1)*x1b(1)*x2-3;a(2)*x1b(2)*x2-5];>>fsolve(fun,[0,0],[],a,b);%中间加一个[],后面传参数即…

lingo解题报告内容解释

1.2菜单介绍 1.2.1 File 1 New 新建一个窗口,当你执行这个命令时,会出现如下对话框: 你可以在对话框中选择你想要建立的类型.类型如下: 1)扩展名为(*.lg4) LG4格式是LINGO4.0的版本,是在Windows下最主要的储存文件格式,这种格式支持字体格式,自定义格式以及动态连接, LG4以二进…

OpenShift上的无痛集装箱化JBoss通用贷款处理

我们从头到尾讨论了各个层次,但尚未为您提供除Red Hat之外的任何应用程序开发工具。我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 容器开发套件(CDK) 。 到目前为止,您所拥有的只是一个…

多任务编程—多进程

什么是多任务编程? 多任务编程其实和计算机系统内核有关,通过程利用多个计算机内核同时执行程序,以此来提升程序执行的效率。 多任务编程其中包括,多进程、多线程和多协程,这三种多任务编程各有各的优点和缺点&#xf…

MATLAB数值取整

fix(x);%截尾取整,下取整floor(x);%高斯取整,不超过x的最大整数ceil(x);%大于x的最小整数,上取整round(x);%四舍五入取整

Tomcat权威指南-读书摘要系列6

6. Tomcat 安全防护 使用SecurityManager 在Tomcat中,决定安全策略的配置文件是$CATALINA_HOME/conf/catalina.policy,在用-security选项调用Tomcat的时候,JVM读取这一文件。以安全模式启动Tomcat.\catalina.bat start -security 安全漏洞 Cr…

MATLAB找波峰波谷

全局波峰波谷:max();min();所有波峰波谷:findpeaks();pks findpeaks(data) [pks,locs] findpeaks(data) ------pks 对应峰值,locs 对应峰值位数 [...] findpeaks(data,minpeakheight,mph)----mph 设定峰值的最小高度 [...] findpeaks(dat…

chrome 浏览器全屏操作

chrome.exe -kiosk [网页]转载于:https://www.cnblogs.com/yang95/articles/9335975.html

java锁实现_Java锁实现

java锁实现我们都将第三方库用作开发的正常部分。 通常,我们无法控制其内部。 JDK随附的库是一个典型示例。 这些库中的许多库都使用锁来管理争用。 JDK锁具有两种实现。 一个使用原子CAS样式指令来管理索赔过程。 CAS指令往往是最昂贵的CPU指令类型,并且…

2023年12月青少年机器人技术等级考试(五级) 实操试卷

主题:按键控制心形图案交互显示 器件:ESP32主控板1块,按键模块1个,8x8LED点阵1个,74HC595移位寄存器芯片(或模块)及相应辅件。以上模块也可使用分立器件结合面包板搭建。 任务要求: …

MATLAB正太分布函数

normcdf(x); %标准正态分布的分布函数。 normcdf(x,mu,sigma); %带平均值和方差μ和σ的正态分布,标准正态分布就是mu0,sigma1的特例。%例如>> normcdf(0,0,1)ans 0.5>> normcdf(inf,0,1)ans 1>> normcdf(-inf,0,1)ans 0

编写自己的工具箱 (一)

仔细想了一下 决定先解决一下调用的问题, 这样无比要解决异步获取 !function(){var requireOption window.requireOption || {path : ,};var windowIsLoad false;var key setInterval(function(){if( document.body || windowIsLoad ){windowIsLoad true;clearI…

ANTLR入门:构建一种简单的表达语言

这是该系列的第一篇文章。 本系列的目的是描述如何创建有用的语言和所有支持工具。 在本文中,我们将开始研究一种非常简单的表达语言。 我们将在语言沙箱中构建它,因此我们将其称为语言Sandy 。 我认为工具支持对于一种语言至关重要:因此&a…

Matlab回归分析regress和polyfit

在matlab中regress()函数和polyfit()函数都可以进行回归分析。 (1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。 (2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。 (1)regress()函数详解 [b,bint,r,…

ACM计算几何题目推荐

一。基础题目 1.1 有固定算法的题目 A, 最近点对问题 最近点对问题的算法基于扫描线算法。 ZOJ 2107 Quoit Design 典型最近点对问题 POJ 3714 Raid 变种最近点对问题 B,最小包围圆 最小包围圆的算法是一种增量算法,期望…

洛谷 P1027 Car的旅行路线

P1027 Car的旅行路线 题目描述 又到暑假了,住在城市 AA 的 CarCar 想和朋友一起去城市 BB 旅游。她知道每个城市都有 44 个飞机场,分别位于一个矩形的 44 个顶点上,同一个城市中 22 个机场之间有 11 条笔直的高速铁路,第 II 个城市…