dubbo启动服务运行也就是让生產服务的进程一直启动。如果生产者进程挂掉也就不存在生产者,消费者不能进行消费
dubbo启动服务运行的三种方式如下:
缺点:增加複杂性(端口、管理)
需要占用多个端口和内存,这种方式是不可取的
2、自己建立Main方法类运行(Srping容器)
缺点:Dobbo本省提供的高级特性没用上自己的启动类可能有缺陷
简单的方式还是自己编写类发布服务。
讲解dubbo启动启动服务的时候先来了解下java的spi机制
SPI 全称为 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制 目前有不少框架用它来做服务的扩展发现, 简单来说它就是一种动态替换发现的机淛, 举个例子来说 有个接口,想运行时动态的给它添加实现你只需要添加一个实现,而后把新加的实现,描述给JDK知道就行啦(通过妀一个文本文件即可) ,公司内部目前dubbo启动框架就基于SPI机制提供扩展功能
停止时,先标记为不接收新请求新请求过来时直接报错,让客戶端重试其它机器
然后,检测线程池中的线程是否正在运行如果有,等待所有线程执行完成除非超时,则强制关闭
停止时,不再發起新的调用请求所有新的调用在客户端即报错。
然后检测有没有请求的响应还没有返回,等待响应返回除非超时,则强制关闭