架构师之路(十九)DOBBO打成jar包
来源:互联网 发布:mac os x 常用软件 编辑:程序博客网 时间:2024/04/30 15:03
架构师之路(十九)
Dubbo是通过JDK的ShutdownHook来完成优雅停机的,所以如果用户使用"kill -9 PID"等强制关闭指令,是不会执行优雅停机的,只有通过"kill PID"时,才会执行。
原理:
服务提供方停止时,先标记为不接收新请求,新请求过来时直接报错,让客户端重试其它机器。 然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭。
服务消费方停止时,不再发起新的调用请求,所有新的调用在客户端即报错。然后,检测有没有请求的响应还没有返回,等待响应返回,除非超时,则强制关闭。
作为一名软件开发人员,成为架构师是追求之一。系统架构师的能力不仅仅体现在书写业务代码上,更重要的是系统的结构和性能,是否具有可拓展性、高并发性和稳定性。
在研究Dubbo的架构的时候,网上的例子是在开发当中,构建一个server的java项目,customer的消费者,customer项目进行dependcy依赖就可以调用服务了,但是这样耦合性太多,经过下午的研究,发现了DUBBO的重点方法,就是把DUBBO打成jar包,采用命令执行jar包,把服务注册到Zookeper,消费者通过Zookeper进行调用,就可以了。
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/70500018
服务器:192.168.1.121(mydubbo-server)
一、Dubbo服务的运行方式
1、使用Servlet容器运行(Tomcat、Jetty等)----不可取 缺点:增加复杂性(端口、管理)
tomcat/jetty等占用端口,dubbo服务也需要端口
浪费资源(内存):单独启动tomcat,jetty占用内存大
2、自建Main方法类来运行(spring容器) ----不建议(本地调试可用)
缺点: Dobbo本身提供的高级特性没用上
自已编写启动类可能会有缺陷
3、使用Dubbo框架提供的Main方法类来运行(Spring容器)----建议使用 优点:框架本身提供(com.alibaba.dubbo.container.Main)
可实现优雅关机(ShutdownHook)
注意点
Dubbo是通过JDK的ShutdownHook来完成优雅停机的,所以如果用户使用"kill -9 PID"等强制关闭指令,是不会执行优雅停机的,只有通过"kill PID"时,才会执行。
原理:
服务提供方停止时,先标记为不接收新请求,新请求过来时直接报错,让客户端重试其它机器。 然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭。
服务消费方停止时,不再发起新的调用请求,所有新的调用在客户端即报错。然后,检测有没有请求的响应还没有返回,等待响应返回,除非超时,则强制关闭。
二、Maven构建Dubbo服务可执行Jar包的配置
用Maven将工程打成jar包后,进入工程的target目录后,将mydubbo-server.jar和lib目录拷贝到指定的目录下,命令行运行java -jar mydubbo-server.jar就可以运行dubbo服务了。(注:lib目录下的所有jar包是mydubbo-server.jar的依赖jar)
阅读全文
0 0
- 架构师之路(十九)DOBBO打成jar包
- java打成jar包
- 打成jar包
- maven打成jar包
- java类打成jar包
- java文件打成jar包
- android工程打成jar包
- android工程打成jar包
- java工程打成jar包
- Android Studio打成jar包
- IDEA 项目打成jar包
- class文件打成jar包
- Matlab程序打成jar包
- java工程打成jar包
- maven打成一个jar包
- Hadoop读书笔记(八)MapReduce 打成jar包demo
- 打成jar包 基于tcpProxy的consumer(netty )
- Android实战技巧之十九:android studio导出jar包(Module)并获得手机信息
- Log4j的日志级别
- 【剑指offer】面试题19:正则表达式匹配
- SpringMvc入门到开发(五)之json数据交互,RESTful支持,拦截器【附详细截图】
- USACO-Section2.2 Subset Sums [动态规划]
- leetcode -14. Longest Common Prefix
- 架构师之路(十九)DOBBO打成jar包
- QT布局
- 6 zabbix警报邮件发送配置
- uva 10564 DP+打印路径
- 33. Search in Rotated Sorted Array
- leetcode -58. Length of Last Word
- Linux中ps -ef | grep tomcat命令详解
- python网络爬虫-第一个网络爬虫
- Object常用的方法