
dubbo
Andy_Zheng.
这个作者很懒,什么都没留下…
展开
-
Dubbo入门---搭建一个最简单的Demo框架
Dubbo背景和简介Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问题,流量能...原创 2018-08-20 13:26:50 · 205 阅读 · 0 评论 -
Dubbo学习(五)——负载均衡
一、搭建负载均衡环境1 修改提供者01的实现和配置文件public class SomeServiceImpl implements SomeService { @Override public String hello(String name) { System.out.println("执行【第一个】提供者的hello() "); return "【第一个】提供者"; }}2 修改提供者02的实现和配置文件public c原创 2020-07-30 07:29:16 · 630 阅读 · 0 评论 -
Dubbo学习(四)——多协议支持
除了 Dubbo 服务暴露协议 Dubbo 协议外,Dubbo 框架还支持另外 8 种服务暴露协议:RMI 协议、Hessian 协议、HTTP 协议、WebService 协议、Thrift 协议、Memcached 协议、Redis 协议、Rest 协议。但在实际生产中,使用最多的就是 Dubbo 服务暴露协议。一、各个协议的特点1 dubbo 协议 Dubbo 默认传输协议 连接个数:单连接 连接方式:长连接 传输协议:TCP 传输方式:NIO 异步传输 ...原创 2020-07-29 23:35:28 · 274 阅读 · 0 评论 -
Dubbo学习(三)——服务分组
服务分组与多版本控制的使用方式几乎是相同的,只要将 version 替换为 group 即可。 但使用目的不同。使用版本控制的目的是为了升级,将原有老版本替换掉,将来不再提供老 版本的服务,所以不同版本间不能出现相互调用。而分组的目的则不同,其也是针对相同接 口,给出了多种实现类。但不同的是,这些不同实现并没有谁替换掉谁的意思,是针对不同 需求,或针对不同功能模块所给出的不同实现。这些实现所提供的服务是并存的,所以它们 间可以出现相互调用关系。例如,对于支付服务的实现,可以有微信支付实现与支付宝支付...原创 2020-07-29 23:26:06 · 714 阅读 · 0 评论 -
Dubbo学习(二)——多版本控制
当系统进行升级时,一般都是采用“灰度发布(又称为金丝雀发布)”过程。即在低压 力时段,让部分消费者先调用新的提供者实现类,其余的仍然调用老的实现类,在新的实现 类运行没有问题的情况下,逐步让所有消费者全部调用成新的实现类。多版本控制就是实现 灰度发布的。1、创建提供者(1)定义 两个接口实现类删除原来的 SomeServiceImpl 类,并新建两个实现类public class OldServiceImpl implements SomeService { @Over...原创 2020-07-29 23:18:51 · 501 阅读 · 0 评论 -
Dubbo学习(一)——关闭服务检查
一、搭建测试环境1 将对消费者方法的调用语句注释掉,使消费者暂时不调用消费者方法public class ConsumerRun { public static void main(String[] args) { ApplicationContext ac = new ClassPathXmlApplicationContext("spring-consumer.xml"); SomeService service = (.原创 2020-07-29 23:11:46 · 948 阅读 · 0 评论