最近项目不是很忙,就想研究一下分布式部署,主要是想研究一下阿里的dubbo这个东东,之前没有遇见过高并发的项目,所以一直没有搞。废话少说,进入正题。
dubbo阿里已经停止开发维护了,网上的资料五花八门,参考很多例子没有一个按照步骤搭建成功的,各种坑。。。。
所以鄙人觉得把自己的一点成功经验写出来,很有必要,能让学习dubbo分布式部署的童鞋,少走一些弯路。在这里只分享搭建部署步骤和注意事项,具体每个组件的安装步骤不做详解(自己上网查看)。
前提是正确安装eclipse和JKD,部署步骤和注意事项如下:
1. 安装eclipse、maven、jdk、tomcat、apache
2. 安装 zookeeper3.3.6、redis2.8
3. 部署dubbo-admin2.5.4.war(如果是JDK1.8 请将lib包下spring文件都换成3版本)
4.修改Jfinal dubbo demo程序(也可参考dubbo 官方demo)
注意:
3.1 eclipse需导入dubbo.xsd (否则xml文件会报错)
3.2 服务端和消费端程序需要导入zkclient-0.2.jar,zookeeper-3.3.6.jar
(否则DemoProviderApp运行该main类会报错、服务端和消费端程序访问也会报错(因为dubbo和zookeeper无法建立 心跳))
3.3 eclipse集成maven 否则无法构建项目
3.4 服务:先启动zookeeper,再启动dubbo-admin,否则无法访问dubbo控制台
3.5 修改消费者(consumer.xml)和提供者(provider.xml)配置文件的广播注册中心方式为zookeeper(默认 multicast),向外暴露发现服务地址.
4. maven 构建项目需注意:
4.1 jkd版本一致
4.2 项目jar包依赖关系(即pom.xml文件jar依赖关系)
4.2 pom.xml 需要先 Maven Clean 再 Maven install 项目
-------------------------------------部署步骤------------------------------------
1.启动zookeeper、redis
2.启动dubbo
3.启动服务提供端
4.启动服务消费端
5.访问消费端URL访问页面
6.服务提供端和服务消费端可以任意横向扩展(只要修改xml文件里面的端口和本机IP即可)
------------------------------------------------------运行成功后,可以查看服务提供者和消费者----------------------------------
注:服务消费端和服务提供端可以部署任意一台PC机上(因为分布式是横向扩展的)
----------------------------------druid sql监控--------------------------------
前提:项目导入druid-1.0.20.jar及所依赖包 如:commons-pool2-2.2.jar、jedis-2.7.2.jar、fst-2.31.jar等(一般在pom.xml文件配置,maven会自动下载)
1.web.xml增加
<!--druid Sql监控 开始-->
<servlet>
<servlet-name>DruidStatView</servlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DruidStatView</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!--druid Sql监控 结束-->
2.访问sql 监控画面
http://IP:port/druid/sql.html