dubbo一周总结

相关概念

单体架构:略(新手从一开始到现在接触的都是这种架构)

RPC:远程方法调用。有A B两台机器,提供用户注册的服务,用户只能访问A,A必须调用B才能完成某一个操作,此时有两种方案,一是B提供一个接口供A调用,这是基于HTTP协议的;另一方案是A和B自己约定一套协议,可能基于tcp实现了一套协议,总之可以做到比http精简高效。方案二就是RPC,我的理解,RPC其实是为了跟平常熟悉的HTTP接口做区分才整出来的概念,其实不用太纠结RPC,了解RPC这只是为了解微服务做一个过渡。

微服务:在A和B之间加入一个大管家(比如zookeeper、eureka),同时B这个角色满足一些特性(比如完成单一功能、读写分离之类的),这样的架构灵活、有容易监控以及做负载等等有点,这就是微服务。dubbo+zookeeper和spring clound都是提供微服务架构的技术。

dubbo的使用本身很简单,所以入门只需要做一些简单的配置。

pom引入

            <!-- dubbo -->
			<dependency>
				<groupId>com.alibaba</groupId>
				<artifactId>dubbo</artifactId>
				<version>${dubbo.version}</version>
				<exclusions>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-beans</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.springframework</groupId>
						<artifactId>spring-web</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<!-- zookeeper客户端 -->
			<dependency>
				<groupId>com.101tec</groupId>
				<artifactId>zkclient</artifactId>
				<version>${zkclient.version}</version>
			</dependency>

配置

provider

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd 
		http://code.alibabatech.com/schema/dubbo 
		http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

	<!-- 使用dubbo标签描述要发布的服务. -->
	<!-- 任意定义的一个应用名称. 为dubbo应用命名 -->
	<dubbo:application name="dubbo-user-service"></dubbo:application>
	
	<!-- 提供注册中心信息 -->
	<dubbo:registry address="localhost:2181"
	    protocol="zookeeper" />
	
	<!-- 监控中心,监控中心monitor才能收集当前服务的监控信息。才能生成图标。 -->
	<dubbo:monitor protocol="registry" />
	
	<!-- 提供协议信息 -->
	<dubbo:protocol name="dubbo" port="20880"/>
	
	<!-- 预留配置dubbo:service标签位置 -->
	<dubbo:service ref="userProvider" 
		interface="com.sxt.provider.user.UserProviderService"></dubbo:service>

</beans>

consumer

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans 
		http://www.springframework.org/schema/beans/spring-beans.xsd 
		http://code.alibabatech.com/schema/dubbo 
		http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

	<!-- 使用dubbo标签描述要发布的服务. -->
	<!-- 任意定义的一个应用名称. 为dubbo应用命名 -->
	<dubbo:application name="dubbo-user-portal-service"></dubbo:application>
	
	<!-- 监控中心 -->
	<dubbo:monitor protocol="registry" />
	
	<!-- 提供注册中心信息 -->
	<dubbo:registry address="localhost:2181"
	    protocol="zookeeper" />
	
	<!-- 预留配置dubbo:reference标签位置 -->
	<dubbo:reference interface="com.sxt.provider.user.UserProviderService"
		id="userProvider"></dubbo:reference>

</beans>

案例项目地图

dubbo-parent(pom)
	|
	|
	|--dubbo-commons(jar)
	|
	|--dubbo-entity(jar)
	|
	|--dubbo-persistent(jar)
	|
	|--dubbo-user-provider(pom)
	|	|
	|	|--dubbo-user-interface(jar)
	|	|
	|	|--dubbo-user-service(jar)
	|	|
	|
	|--dubbo-user-consumer(pom)
	|	|
	|	|--dubbo-user-portal(war)
	|	|
	|	|--dubbo-user-portal-service(jar)
	|	|
	|	|

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值