dubbo/rpc框架/负载均衡
崔世勋
这个作者很懒,什么都没留下…
展开
-
nginx rewrite
语法:rewrite regex replacement [flag]正则表达式regex. 匹配除换行符以外的的任意字符 ? 0或1次匹配前面的字符 + 1次或多次匹配前面的字符 * 0次或多次匹配前面的字符 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 {n} 匹配重复n次 {n,} ...转载 2019-11-01 13:24:00 · 200 阅读 · 0 评论 -
nginx.conf 配置
(1)user nginx nginxNginx用户及组,windows下不指定。(2)worker_processes 8;工作进程:数目。(3)erro_log logs/error.logerror_log logs/error.log noticeerror_lo logs/error.log info错误日志:存放路径。(4)pid logs/nginx...转载 2017-12-11 17:13:45 · 341 阅读 · 0 评论 -
nginx nobody
在nginx.conf文件的第一行一般设备用户的地方,如果不指定nginx默认用户是nobody。可以通过ps aux|grep nginx来查看nobody是一个不能登陆的系统用户,用于安全隔离,但是如果安装和启动的用户是root, 就是有权限问题。修改为user root,可以解决权限问题,但更好的是使用非root安装nginx....转载 2019-10-31 16:54:07 · 6450 阅读 · 0 评论 -
nginx 反向代理
当使用nginx代理一个请求时,它会把请求发送到需要代理的服务器上,然后获取响应返回给客户端。它可以代理一个http server(另一个nginx或其它server),也可以代理非http协议 server(如php、python),支持的协议包括FastCGI, uwsgi, SCGI和memcahced.在location配置中使用proxy_pass进行转发请求:location...翻译 2019-10-30 13:36:59 · 332 阅读 · 0 评论 -
负载均衡-nginx
nginx架构nginx是一个强大的web服务器软件,用于处理高并发的http请求和作为反向代理做负载均衡。 nginx启动以后,会在系统中以daemon的方式在后台运行,其中包括一个master进程,多个worker进程。其中master进程用于接收来自外界的信号,并给worker进程发送信号,同是监控worker进程的工作状态。 worker进程则是外部请求真正的处理者...转载 2017-07-07 14:58:36 · 353 阅读 · 0 评论 -
Dubbo Exchange 信息交换层
ReferenceCountExchangeClient:将请求交HeaderExchangeClient处理,不进行任何其他操作。 public ResponseFuture request(Object request) throws RemotingException { return client.request(request); } ...转载 2017-08-15 19:03:43 · 1905 阅读 · 0 评论 -
dubbo 优雅停机源码分析
Runtime.getRuntime().addShutdownHook在AbstractConfig中有一块静态代码块: static { Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {//添加一个jvm关闭执行的钩子,执行清理工作 public void run(...原创 2017-08-15 15:33:16 · 3036 阅读 · 0 评论 -
dubbo hystrix
大中型分布式系统中,通常我们需要依赖很多dubbo服务,在高并发访问下,这些依赖的稳定性与否对系统的影响非常大,但是依赖有很多不可控问题:如网络连接缓慢、资源繁忙、暂时不可用、服务脱机等。当依赖失败时如果没有隔离措施,当前应用服务就有被拖垮的风险。 Hystrix(1)Hystrix使用命令模式HystrixCommand包装依赖调用逻辑,每个命令在单独线程中、信号授权下执行。(2...转载 2017-09-19 14:10:23 · 2383 阅读 · 4 评论 -
DUBBO官方开始更新
https://github.com/alibaba/dubbo转载 2017-09-12 08:55:18 · 4420 阅读 · 0 评论 -
Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd
公司一直在使用阿里的dubbo,但是阿里的的开源网站http://code.alibabatech.com,已经很长时间不能用了,但为什么我们的应用启动没有问题?我们都知道Spring在启动时是要检验XML文件的,首先来看下xml的一些概念:(1)xml的schema里的namespace可以给它起个别名,比如常见的spring的namespace: xmlns:mvc="h...转载 2017-10-31 09:49:50 · 1369 阅读 · 0 评论 -
dubbo : forbid consumer
com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.0.53.69 access service com.kuaidadi.op.api.pay.service.PayChannelConfigRemoteService from registry 10.0.50.150:2181 use dubbo version 2.5.3, Ple...转载 2017-11-14 10:45:23 · 987 阅读 · 0 评论 -
dubbo 创建服务代理
AbstractProxyFactorypublic <T> T getProxy(Invoker<T> invoker) throws RpcException { Class<?>[] interfaces = null; String config = invoker.getUrl().getParameter("in...原创 2017-08-22 15:13:44 · 1503 阅读 · 0 评论 -
dubbo 动态调用分析
ApplicationConfig application = new ApplicationConfig();//下面设置ApplicationConfig的配置,省略ReferenceConfig<GenericService> ref = new ReferenceConfig<GenericService>();ref.setApplication(appl...原创 2017-08-22 10:51:20 · 1603 阅读 · 0 评论 -
dubbo 人工管理服务提供者的上线和下线
有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式。 <dubbo:registryaddress="10.20.141.150:9090"dynamic="false"/> 或者: <dubbo:registryaddress="10.20.141.150:9090?dynamic=false"/> 服务提供者初次注册时为禁用状态...转载 2017-08-07 15:15:14 · 3544 阅读 · 1 评论 -
dubbox 发布rest服务调用过程记录
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.a原创 2017-08-14 11:14:58 · 1071 阅读 · 0 评论 -
dubbo 多版本部分源码分析
提供端分析服务提供者在起动时,会执行到DubboProtocol.export,生成DubboExporter对象,并放入exportMap中。public <T> Exporter<T> export(Invoker<T> invoker) throws RpcException { URL url = invoker.getUrl(...原创 2017-08-04 16:44:05 · 1245 阅读 · 0 评论 -
dubbo 服务消费者初始化
dubbo:reference解析成一个ReferenceBean,它是一个FactoryBean,消费者的初始化在它的init方法中执行,这个方法在两种情况下会被调用:(1)消费者设置了立即初始(init属性设置成true),那么bean加载时会立即调用消费者初始化。(2)消费者bean被使用者调用时,调用getObject->get->init。消费者初始化是主要做的事...转载 2017-07-04 15:23:20 · 1859 阅读 · 0 评论 -
dubbo常用标签
1、<dubbo:service /> 用于服务生产者暴露服务配置属 性 类 型 是否必填 缺省值 描 述 interface class 必填 无 服务接口全路径 ref object 必填 无 服务对象实现引用 version string 可选 0.0.0...转载 2017-08-04 11:02:13 · 761 阅读 · 0 评论 -
dubbox rest调用过程分析
前提是熟悉dubbo的调用过程,这里直接从AbstractProxyProtocol开始分析: public <T> Invoker<T> refer(final Class<T> type, final URL url) throws RpcException { final Invoker<T> tagert =...原创 2017-08-11 10:54:15 · 1023 阅读 · 0 评论 -
dubbo 令牌验证 源码分析
在ServiceConfig.java中在doExportUrlsFor1Protocol中: if (! ConfigUtils.isEmpty(token)) {//如果配置令牌功能 if (ConfigUtils.isDefault(token)) { map.put("token", UUID.randomU...原创 2017-08-03 16:25:13 · 2652 阅读 · 0 评论 -
dubbo.xsd文件分析
<?xml version="1.0" encoding="UTF-8" standalone="no"?><xsd:schema xmlns="http://code.alibabatech.com/schema/dubbo" 表示默认命名空间 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 这个命名空间的元素或属性必原创 2017-12-08 10:13:49 · 906 阅读 · 0 评论 -
gRPC 1.8.4 发布,Google 高性能 RPC 框架
http://www.oschina.net/news/92321/grpc-1-8-4-released转载 2018-01-11 08:32:50 · 482 阅读 · 0 评论 -
Linux Nginx视频服务器
相关概念传输协议(1)RSVP:资源预留协议(2)RTP:实时传输协议(3)RTCP:实时传输控制协议(4)MMS:微软流媒体服务协议(5)RTSP:实时流协议(6)RTMP:实时消息传输协议流媒体服务器流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,...转载 2019-10-11 09:59:54 · 428 阅读 · 0 评论 -
读取nginx文件
项目不大的话,我们可以选择ftp+nginx的方式来实现文件服务器,如果文件需求量大的话,建议使用分布式文件服务器,它对横向扩展的支持比较好。public static void readFile(){ int HttpResult; // 服务器返回的状态 try { String filePath = "http://192.168.1.25/File/file/2...转载 2019-10-11 09:02:26 · 438 阅读 · 0 评论 -
Centos7源码安装nginx
1. 下载安装包https://nginx.org/en/download.html2. gcc安装yum install gcc-c++3. pcre安装perl compatible reqular expressions是一个perl库,nginx的http模块使用pcre来解析正则表达式yum install -y pcre pcre-devel4. zli...转载 2019-09-28 11:21:20 · 140 阅读 · 0 评论 -
Spring Cloud Eureka 自我保护机制
Eureka Server在运行期间会去统计心跳失败比例在15分钟之内是否低于85%,如果低于85%,Eureka Server会将这些实例保护起来,让这些实例不会过期。因为当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时是不应该移除这个微服务,所以引入自我保护机制。但是如果服务提供者真的非正常下线了,此时服务消费者就会拿到一个无效的服务...转载 2018-11-21 16:17:18 · 209 阅读 · 0 评论 -
Consul
介绍Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。Consul使用Go语言编写。优势1、它使用Raft算法来保证一致性,比复杂的Paxos算法更直接。2、支持多数据中心。Consul角色(1)client:客户端,无状态,将HTTP和DNS接口请求转发给局域网内的服务端集群。(2)server:服务端,保存配置信息,高可用集...转载 2018-11-13 11:25:30 · 953 阅读 · 0 评论 -
主流负载均衡器比较
lvsIP负载均衡服务是工作在网络层(修改IP)和传输层(修改端口,第四层),比起工作在应用层(第七层)性能要高出非常多。常见的负载方式是LVS和IPVS(IP Virtual Server)LVS (Linux Virtual Server),它是一种集群技术。1、组成部分(1)Load balancer/Director(负载调度器),它是整个集群对外面的前端机,负责将客户...转载 2018-10-30 10:09:06 · 401 阅读 · 0 评论 -
spring cloud 断路器监控-Hystrix Dashboard
Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图表化界面。修改service-hi1、在pom工程文件引入相应的依赖<dependencies> <dependency> <groupId>org.springframework.cloud</groupId>...转载 2018-10-30 09:03:48 · 297 阅读 · 0 评论 -
spring cloud 服务链路追踪
简介Spring cloud Sleuth主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持zipkin,你只需要在pom文件中引入相应的依赖即可。1、span基本工作单元,span在不断的启动和停止,同时记录了时间信息,当你创建一相span,你必须在未来的某个时刻停止它。2、trace一系列span组成的一个树状结构。3、annotation用来及时记录一个事件...转载 2018-10-29 16:58:34 · 203 阅读 · 0 评论 -
spring cloud 分布式配置中心
简介在spring cloud中,有分布式配置中心组件spring cloud config,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程git仓库中,在该组件中,分两个角色,一是config server, 二是config client。实践1、构建config server(1)在原有工程上,创建一个spring-boot项目,取名为config-server...转载 2018-10-29 16:04:25 · 186 阅读 · 0 评论 -
springcloud 路由网关 - zuul
spring cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、ngnix),再到达服务网关(zuul集群),然后再到具体的服务。服务统一注册到高可用的服务注册中心集群,服务的所有配置文件由配置服务管理,配置服务的配置文件放在git仓库,方便开发人员随时改变配置。简介zuul的主要功能是路由转发和过滤器。路由功能是微服务的一部分。zuul有以...转载 2018-10-29 15:19:32 · 303 阅读 · 0 评论 -
springcloud-hystrix
为了保证高可用性,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导制服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后里,这就是服务故障的“雪崩”效应。HystrixNetflix开源了Hystrix组件,实现...转载 2018-10-29 14:02:48 · 189 阅读 · 0 评论 -
springcloud 服务消费者 - Feign
简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign只需要创建一个接口并添加注解,可以使用Feign注解和JAX-RS注解。Feign默认集成了Ribbon,并和Eureka结合。实践1、启动eureka-server,端口为8761.启动service-hi两次,端口分别为8762、8763.2、创建一个feign的服务。(1)新建一...转载 2018-10-29 13:36:52 · 159 阅读 · 0 评论 -
SpringCloud 服务消费者-rest+ribbon
spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign.ribbonribbon是一个负载均衡客户端,Feign默认集成了ribbon。ribbon已经默认实现了如下配置bean:(1) IClientConfig ribbonClientConfig: DefaultClientConfigImpl(2)IRule ribbo...转载 2018-10-29 13:14:43 · 151 阅读 · 0 评论 -
SpringCloud Eureka
springcloud eureka server 官方文档springcloud eureka client 官方文档springcloud中的region和zone1、背景用户量比较大或者用户地理位置分布范围很广的项目,一般都会有多个机房。这个时候如果上线springcloud服务,我们希望一个机房内的服务优先调用同一个机房的服务,当同一个机房的服务不可用的时候,再去调用其它机...转载 2018-10-29 10:05:32 · 243 阅读 · 0 评论 -
Dubbo 3.0 发布预告,将以 Streaming 为内核
http://www.oschina.net/news/92288/dubbo-3-0-will-release转载 2018-01-10 08:53:29 · 2490 阅读 · 0 评论 -
dubbo学习-1-服务提供者&服务消费者&依赖
远程服务(Spring配置) 将服务定义部分放在服务提供方remote-provider.xml,将服务引用部分放在服务消费方remote-consumer.xml。 并在提供方增加暴露服务配置<dubbo:service>,在消费方增加引用服务配置<dubbo:reference>remote-provider.xml<bean id=“xxxSer...转载 2016-12-15 17:46:37 · 1342 阅读 · 0 评论 -
dubbo学习-2-配置
<dubbo:service />服务配置,用于暴露一个服务,定义服务的信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。<dubbo:reference/>引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。<dubbo:protocol/>协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受...转载 2016-12-30 17:02:48 · 1020 阅读 · 0 评论 -
dubbo学习三--集群,线程模型
集群容错在集群调用失败时,dubbo提供了多种容错方案,缺省为failover重试。 (1)这里的invoker是provider的一个可调用service的抽象,invoker封装了provider地址及service 接口信息。(2)Directory代表多个invoker,可以把它看成List<Invoker>,但与List不同的是,它的值可能是动态变化的,比...转载 2017-01-03 09:25:34 · 1253 阅读 · 0 评论