2019-08-11 Dubbo分布式

【问题解决】
关于dubbo常见出错:
zookeeper端口号是否开放
zookeeper地址是否正确
一个service对应一个tomcat
springmvc.xml是否放对文件夹
web.xml不能有多余标签

【今日感悟】

Zookeeper

linux中开放zookeeper2181端口iptables -I INPUT -p tcp --dport 2181 -j ACCEPT.
在zookeeper的bin目录里启动./zkServer.sh start服务命令.

provider提供服务者

创建项目:export_company_interface编写对外发布的服务的接口
创建项目:export_company_service实现接口
导入依赖
配置web.xml监听器监听其他的spring配置文件
配置applicationContext-dubbo.xml

 <!-- 应用名称:随便写(保证唯一:和项目名一致)  -->
 <dubbo:application name="export_company_service">
    <!--qos 监控防止端口冲突-->
    <dubbo:parameter key="qos.enable" value="false"></dubbo:parameter>
 </dubbo:application>

 <!--配置注册中心  注册中心的地址-->
 <dubbo:registry address="zookeeper://192.168.12.132:2181"></dubbo:registry>

 <!--
    配置请求协议  此dubbo服务的请求端口和tomcat端无关,不能一致。
        port(端口):dubbo的指定端口号,服务提供者的真实请求端口
  -->
 <dubbo:protocol name="dubbo" port="20881"></dubbo:protocol>

 <!--配置dubbo服务提供者的包扫描-->
 <dubbo:annotation package="cn.it.service"></dubbo:annotation>

配置事务:applicationContext-tx.xml
编写服务接口实现类,这里的@service注解是dubbo的service
@Autowired不要换成@Reference
通过main函数启动服务

public static void main(String[] args) throws IOException {
      //1.加载配置文件
      ClassPathXmlApplicationContext ac =
            new ClassPathXmlApplicationContext("classpath*:spring/applicationContext-*.xml");
      //2.启动
      ac.start();
      //3.输入后停止
      System.in.read();
   }

系统部署

dubbo传输的对象如果没有实现可序列化接口Serializable,报错:
Caused by: Serialized class Company must implement java.io.Serializable
导入依赖
配置web.xml
配置springmvc.xml

<!--SpringMVC配置-->
    <context:component-scan base-package="cn.itcast.web"></context:component-scan>
   <mvc:annotation-driven></mvc:annotation-driven>

   <!--Dubbo配置-->
    <!-- 当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样 -->
    <dubbo:application name="export_web_protal" />
    <!-- 连接服务注册中心zookeeper ip为zookeeper所在服务器的ip地址-->
    <dubbo:registry address="zookeeper://192.168.12.132:2181"/>
    <!-- 开启dubbo注解扫描(@Reference注解)-->
    <dubbo:annotation package="cn.itcast.web"/>

编写控制器,@Reference(retries = 0)导入service,retries:配置重试次数。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容