dubbo的容器模块,是一个独立的容器,因为服务通常不需要Tomcat/JBoss等Web容器的特性,没必要用Web容器去加载服务。
服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。
我们看启动生产者、消费者、简单监控者的 start.sh 命令中,可以看到启动命令如下:
nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 &
这里启动的就是 com.alibaba.dubbo.container.Main 类的 public static void main(String[] args) { … } 方法。
服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:http://dubbo.io/Developer+Guide.htm#DeveloperGuide-ContainerSPI
Spring Container
自动加载META-INF/spring目录下的所有Spring配置。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.spring.config=classpath*:META-INF/spring/*.xml ----配置spring配置加载位置Container
Jetty Container
启动一个内嵌Jetty,用于汇报状态。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.jetty.port=8080 ----配置jetty启动端口
dubbo.jetty.directory=/foo/bar ----配置可通过jetty直接访问的目录,用于存放静态文件
dubbo.jetty.page=log,status,system ----配置显示的页面,缺省加载所有页面
Log4j Container
自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。
配置:(配在java命令-D参数或者dubbo.properties中)
dubbo.log4j.file=/foo/bar.log ----配置日志文件路径
dubbo.log4j.level=WARN ----配置日志级别
dubbo.log4j.subdirectory=20880 ----配置日志子目录,用于多进程启动,避免冲突
容器启动
如:(缺省只加载spring)
java com.alibaba.dubbo.container.Main
或:(通过main函数参数传入要加载的容器)
java com.alibaba.dubbo.container.Main spring jetty log4j
或:(通过JVM启动参数传入要加载的容器)
java com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j
或:(通过classpath下的dubbo.properties配置传入要加载的容器)
dubbo.properties
dubbo.container=spring,jetty,log4j
在web容器中使用内置的监控页面
<filter>
<filter-name>resource</filter-name>
<filter-class>com.alibaba.dubbo.container.page.ResourceFilter</filter-class>
</filter>
<servlet>
<servlet-name>page</servlet-name>
<servlet-class>com.alibaba.dubbo.container.page.PageServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>page</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter-mapping>
<filter-name>resource</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
参考:
http://dubbo.io/Service+Container.htm
分享到:
相关推荐
Dubbo框架分为六大模块:client模块、common模块、dao模块、manager模块、service模块和test模块。每个模块都有其特定的作用,共同构成了一个完整的Dubbo项目框架。 * client模块:用于保存向consumer暴露的服务...
Dubbo 的架构图包括 Provider 暴露服务的服务提供方,Consumer 调用远程服务的服务消费方,Registry 服务注册与发现的注册中心,Monitor 统计服务的调用次数和调用时间的监控中心,Container 服务运行容器节点。...
基于springboot+dubbo+Mybatis提供整套公共微服务服务模块:服务模块,控制层模块。 组织结构 springboot-dubbo-mybatis └──commons-- 公共通用模块 ├── service-- rpc服务层模块 ├── sql-- 数据库脚本 ...
| Spring Framework | 容器 | | SpringMVC | MVC框架 | | Spring Boot|构建系统| | Apache Shiro | 安全框架 | | MyBatis | ORM框架 | | MyBatis Generator | 代码生成 | | PageHelper | MyBatis物理分页插件 | | ...
数据层支持MySQL和Oracle模块独立部署,保持模块之间松耦合,有利于各个模块的技术框架进一步演进。该层主要负责数据的存储和管理。 APP服务层 APP服务层沉淀业务逻辑,由封装服务统一对外提供业务能力,实现原子...
java版商城源码下载 基于SpringBoot+Docker+Dubbo 微服务商城 本项目是我的毕设项目,可以用来练练手 ...启动所有容器实例; 启动所有Dubbo服务; 服务 模块 cn.jianwoo.eshop.webconfig.service.ServiceWebconfigApp
* 在河南蓝通实业有限公司担任 Java EE 软件开发工程师,负责用户需求分析、功能模块分析及编码实现等 * 在乐山在线担任开发环境:JDK1.7+Eclipse4.5+Tomcat7.0+Mysql5.5+SVN+Maven,软件架构:Spring+Springmvc+...
- 秒杀模块的前端实现以及api接口技术选型后端技术技术说明官网SpringBoot容器+MVC框架Shiro认证和授权框架MyBatisORM框架MyBatisGenerator数据层代码生成Hibernator-Validator验证框架RabbitMq消息队列Redis分布式...
java版商城源码下载 SpringBoot+Docker重构宜立方商城 本项目源于宜立方商城项目,重新利用 SpringBoot 2.0.4 框架替代原始的SSM三大框架进行重构项目,采用 ...启动所有Dubbo服务; 服务 模块 guo.ping.e3mall.manage
在这个阶段,阿里巴巴的业务系统是一个整体的应用程序,所有的功能模块都集成在一个应用程序中。这使得系统的维护和更新变得非常困难。 第二阶段:服务化架构。在这个阶段,阿里巴巴开始将其业务系统拆分成多个服务...
Dubbo | 分布式服务框架 | [http://dubbo.io/](http://dubbo.io/) TBSchedule & elastic-job | 分布式调度框架 | [https://github.com/dangdangdotcom/elastic-job](https://github.com/dangdangdotcom/elastic-job)...
*松耦合的模块化结构,应用扩展时仅需扩展有瓶颈的微服务 * 进程级别隔离,单个服务的异常通常不会导致整个系统的故障 * 根据业务的需求,不同的服务可以根据业务特性实现灵活的技术选型 微服务架构的技术栈包括: ...
模块 scroll-server-calculate-service卷轴计算服务对外提供dubbo调用 scroll-server-web对外提供计算接口 ##使用到的技术 初步 弹簧靴 Redis做部署 RabbitMQ将卷轴全选时的连续操作同步转换异步处理; MyBatis数据...
写了一个接口,想要把服务暴露出去,但是这个服务所在的进程是非web项目,(可以理解成schedule/batch等进程项目),所以没有tomcat等容器,而且只有这一个服务,无论是加dubbo服务还是加tomcat等容器都显得复杂了。...
* 容器化布署:Docker,具有搭建Swarm、Mesos、Marathon、Kubernetes集群并运维经验 * 自动化运维:熟练使用Saltstack,数据监控(Zabbix) * 建模工具:PowerDesigner、Rose、Visio等UML建模工具 * 遵循华为测试...
* 负责过多个模块的开发和维护,熟悉模块的架构设计和实现。 * 具有良好的沟通和团队协作能力,能够与团队成员进行有效的沟通和协作。 自我评价 * 工作积极主动、效率高、责任心强、注重细节、追求完美。 * 能及时...
关注别离的架构设计思想通过分层、面向方面和容器等设计模式,将需求和架构分析结果织、混沌的软件元素关系梳理清楚,使性质不同的关注面被分割而独立,进而实现分而治之。 2. 智慧校园平台架构设计 智慧校园平台...
Dubbo 工作能力 软实力 应急能力 创新能力 管理能力 分享能力 学习能力 沟通能力 解决问题能力 经历 技术攻关案例 程序开发案例 程序设计案例 设计 设计原则 单一职责原则 开闭原则 里氏替换原则...
day02_Dubbo介绍_dubbo框架整合_商品列表查询实现_分页_逆向工程 day03_Git day04_门户网站介绍&商城首页搭建&内容系统创建&CMS实现 day05_首页轮播图显示实现,Redis环境搭建,Redis实现缓存 day06_solr索引库...
在对象创建的过程中将被容器调用,onMessage函数方法接收消息参数,将其强制转型为合适的消息类型,同时打印出消息的内容。同时一个mail note将被发送给消息发送者,发送一个e-mail通知给由recipient参数确定的e-...