dubbo服务的运行方式

来源:互联网 发布:webservice返回纯json 编辑:程序博客网 时间:2024/05/16 19:50


 1、使用Servlet容器运行(Tomcat、Jetty等)----不可取 

  缺点:增加复杂性(端口、管理) 浪费资源(内存) 

假设1个服务模块时,需要1台tomcat,消耗3个端口,和200MB左右内存

假设10个服务模块时,需要10台tomcat,消耗30个端口,和2000MB左右内存

假设100个服务模块时,需要100台tomcat,消耗300个端口,和20000MB左右内存

.......大型的分布式项目将不可想象!!!!



 2、自建Main方法类来运行(Spring容器) ----不建议(本地调试可用) 
 缺点:Dobbo本身提供的高级特性没用上 

 自已编写启动类可能会有缺陷。

比如关闭dubbo的时候,控制台直接点击关闭,如果此时dubbo有服务正在调用,就会导致失败。

代码:

package dubbo.test;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;/** *  * @描述: 启动Dubbo服务用的MainClass. */public class DubboProvider {private static final Log log = LogFactory.getLog(DubboProvider.class);public static void main(String[] args) {try {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/spring-context.xml");context.start();} catch (Exception e) {log.error("== DubboProvider context start error:",e);}synchronized (DubboProvider.class) {while (true) {try {DubboProvider.class.wait();} catch (InterruptedException e) {log.error("== synchronized error:",e);}}}}    }



 3、使用Dubbo框架提供的Main方法类来运行(Spring容器)----建议使用 
 优点:框架本身提供(com.alibaba.dubbo.container.Main) 

        可实现优雅关机(ShutdownHook ) ,即解决第2点关闭dubbo问题。


参见:

dubbo-user-book.pdf  第110~111页

下载地址:

https://www.gitbook.com/@dubbo






阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕前男人注意事项 孕前征兆有哪些 受孕前准备 孕前准备事项 备孕应该注意哪些 备孕前男人注意事项 夫妻备孕注意事项 怀孕不能干什么 怀孕初期补什么 怀孕前的饮食 吃避孕药还会怀孕吗 怀孕能吃柿子吗 怀孕可以吃石榴吗 怀孕可以吃石榴 怀孕吃柚子 怀孕能吃石榴 怀孕能吃石榴吗 吃避孕药怀孕 怀孕可以吃柚子吗 怀孕可以吃柚子 怀孕吃火龙果 吃避孕药会怀孕吗 怀孕吃辣 怀孕吃板栗 怀孕可以吃山楂 怀孕初期吃什么食物好 怀孕能吃柚子吗 怀孕初期吃什么水果 怀孕可以吃山楂吗 怀孕吃点什么好 怀孕初期吃什么蔬菜好 怀孕什么不能吃 初孕吃什么好 怀孕吃什么对宝宝好 怀孕吃啥水果好 刚怀孕不能吃什么 初期孕妇吃什么好 孕妇怀孕期间吃什么好 怀孕能吃什么不能吃什么 怀孕早期吃什么对胎儿好 怀孕初期吃什么菜好