说说服务路由,服务负载均衡与服务去中心化结构

首先如果你的业务量不是很大,服务都是单台部署,那么你的服务地址可以硬编码到你的项目中,但是如果你的服务单台扛不住流量并发甚至性能特别差,那么我们就需要分布式部署我们的服务。

最初我们是这样子实现的

不论你走的是老式的Esb,还是一些代理服务器,都是先把请求打到另外一台服务器,然后给你转接给服务提供方。

现在我们是怎么实现的呢

Note:Soa架构会提供一个Client.dll,给到调用方,让调用方不必关系你的传输协议怎么实现,负载算法怎么实现,这都可以配置出来。然后服务每上线一台机器,都会自动注册接口地址等信息到服务配置中心,服务监测系统也会及时的捕捉到各个服务的上下线状态,然后更新存储起来,Client内置有负载均衡及缓存功能,根据监测系统提供的数据,客户端配置的信息,自己发现最优的服务给到客户端。然而这一切都放生在客户端。没有第三方代理服务器出现。

如何实现第二种??

时间: 2024-07-30 00:28:52

说说服务路由,服务负载均衡与服务去中心化结构的相关文章

【7】JMicro微服务-服务路由,负载均衡

1.关于服务路由和负载均衡 服务路由:根据预先配置好的策略,为客户端选择一个当前可用的服务提供者,根据策略选择一个可用的即可. 负载均衡:在当前可用的服务中,为客户端选择一个最合适的服务服务提供者,要选一个最合适的,公平的. 所以负载均衡是路由的进一步筛选,查看org.jmicro.client.RoundBalance源码,就是这么做的. 2. 目前JMicro提供四种路由实现 IP路由:根据客户端请求IP查找路由规则,源IP的请求导到指定IP的服务上: 标签路由:根据请求上下文是否包含某个值

自己动手写RPC框架到dubbo的服务动态注册,服务路由,负载均衡功能实现

RPC即远程过程调用,它的实现方式有很多,比如webservice等.框架调多了,烦了,没激情了,我们就该问自己,这些框架的作用到底是什么,来找回当初的激情. 一般来说,我们写的系统就是一个单机系统,一个web服务器一个数据库服务,但是当这单台服务器的处理能力受硬件成本的限制,是不能无限的提升处理性能的.这个时候我们使用RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了提升. RPC的实现包括客户端和服务端,即服务的调用方和服务的提供方.服务调用方发送rpc请求

RPC原来就是socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化

序:RPC就是使用socket告诉服务端我要调你的哪一个类的哪一个方法然后获得处理的结果.服务注册和路由就是借助第三方存储介质存储服务信息让服务消费者调用. RPC即远程过程调用,它的实现方式有很多,比如webservice等.框架调多了,烦了,没激情了,我们就该问自己,这些框架的作用到底是什么,来找回当初的激情. 一般来说,我们写的系统就是一个单机系统,一个web服务器一个数据库服务,但是当这单台服务器的处理能力受硬件成本的限制,是不能无限的提升处理性能的.这个时候我们使用RPC将原来的本地调

服务路由和负载均衡介绍。

分布式应用对业务逻辑复用的需求十分强烈.上层业务都想借用底层服务,来搭建更多.更丰富的应用. 将公共业务拆分出来,形成可共用的服务,最大程度的保障代码和逻辑的复用,这种设计成为SOA(面向服务架构). 在SOA中,服务消费者通过服务名称,在服务列表中找到需要调用的服务,这称为服务的路由. 而对于负载较高的服务,往往对应着一个集群.当请求到来的时候,为了将请求均衡的负载到合适的服务器,负载均衡程序将通过 相应的规则,将选取一台服务器进行访问,这个过程被称为负载均衡. 当负载较小时,可以依赖硬件负载

使用zookeeper实现服务路由和负载均衡

三个类: ServiceAProvider ServiceBProvider ServiceConsumer 其中 ServiceAProvider提供的服务名service-A,指向IP为192.168.58.130 ServiceBProvider提供的服务名service-A,指向IP为192.168.58.131 当有消费者请求时,随机地选取service-A列表的服务器提供服务 ServiceConsumer 为消费者类 依赖: <dependency> <groupId>

高可用集群技术之keepalived实现lvs高可用并负载均衡web服务

Keepalived概述: Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. keepalived实现lvs高可用并负载均衡web服务: 准备工作: 2台keepalived节点为: node1.samlee.com

开源jms服务ActiveMQ的负载均衡+高可用部署方案探索

一个文件(或目录)拥有若干个属性,包括(r/w/x)等基本属性,以及是否为目录(d)与文件(-)或连接文件(l)等属性.此外,Linux还可以设置其他系统安全属性,使用chattr来设置,以lsattr来查看,最重要的是可以设置其不可修改的特性,即便是文件的拥有者都不能进行修改.这个属性相当重要,尤其是在安全机制方面(security). 文件默认权限:umask 当建立一个新的文件或目录时,它的默认属性是与umask有关的.通常,umask就是指定当前用户在建立文件或目录时的属性默认值.那么,

根据DNS的A记录负载均衡web服务请求

做为论坛站点:有两种类型的数据要处理:  1.结构化的数据:  如:用户名.用户发表的评论等,这些可以存储在关系型数据库中:  2.非结构化的数据:如:用户上传的附件.则存储到文件系统中. 论坛的架构: 使用两台httpd服务器来服务用户的访问请求.使用DNS的A记录做客户访问轮循到这两台服务器上.php做为httpd的模块工作. 论坛架构如下图所示: 一.搭建NFS文件共享服务器. 要点:保证192.168.60.99与192.168.60.40两台httpd服务器的进程能够往共享文件系统(目

负载均衡----文件服务策略

客串:屌丝的坑人表单神器.数据库那点事儿 面向对象升华:面向对象的认识----新生的初识.面向对象的番外----思想的梦游篇(1).面向对象的认识---如何找出类 PHP项目 起点:手把手教你做关键词匹配项目(搜索引擎)---- 第一天  最新:手把手教你做关键词匹配项目(搜索引擎)---- 第二十一天 负载均衡----文件服务策略 同类文章:负载均衡----概念认识篇.负载均衡----实现配置篇(Nginx) 上回我提到的这么多服务器,他们共同需要的文件从哪里来?那么我们就需要文件服务器,文件