dubbo项目开发实战-创新互联

dubbo结合spring boot,直接采用注解的方式,没有采用xml配置
使用的是zookeeper作为服务注册中心
spring cloud的服务化是使用的restful的方式,是基于http,但是http请求会有连接的问题存在,因此使用dubbo的rpc的方式是比较好的服务化的实现方式。
服务化的基本要素是一个服务需要能独立完成一个业务内容,否则会导致分布式事务的问题。

10多年的瓦房店网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整瓦房店建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“瓦房店网站设计”,“瓦房店网站推广”以来,每个客户项目都认真落实执行。

1:创建空的maven项目,引入依赖:


    
        com.alibaba.boot
        dubbo-spring-boot-starter
        0.2.0
    

2:使用properties配置

app.service.version=1.0.0
\# Base packages to scan Dubbo Component: @com.alibaba.dubbo.config.annotation.Service
dubbo.scan.basePackages=com.seasfood.producer.
\# Dubbo Config properties
\## ApplicationConfig Bean
dubbo.application.id=seasfood-dubbo-id
dubbo.application.name=seasfood-dubbo-name
dubbo.application.qos.port=22222
dubbo.application.qos.enable=true
\## ProtocolConfig Bean
dubbo.protocol.id=dubbo-id
\#只能是dubbo,这个是协议名
dubbo.protocol.name=dubbo
dubbo.protocol.port=9090
dubbo.protocol.status=server
\## RegistryConfig Bean
dubbo.registry.id=zookeeper
dubbo.registry.address=zookeeper://zk-cs:2181
\# Enables Dubbo All Endpoints
management.endpoint.dubbo.enabled=true
management.endpoint.dubbo-shutdown.enabled=true
management.endpoint.dubbo-configs.enabled=true
management.endpoint.dubbo-services.enabled=true
management.endpoint.dubbo-references.enabled=true
management.endpoint.dubbo-properties.enabled=true
\# Dubbo Health
\## StatusChecker Name defaults (default : "memory", "load" )
management.health.dubbo.status.defaults=memory
\## StatusChecker Name extras (default : empty )
management.health.dubbo.status.extras=load,threadpool

3:声明一个服务接口,声明一个实现类实现接口,然后在实现类上注解

public interface MyInterface{}

@Service(
                version = "${app.service.version}",
                application = "${dubbo.application.id}",
                protocol = "${dubbo.protocol.id}",
                registry = "${dubbo.registry.id}"
)
public class MyService implements MyIneterface {}

4:如果接口中需要传输DTO类型的,需要给类型实现序列化接口Serializable,否则在rpc调用会报错

5:消费者只需要注入使用即可

 @Reference(version = "${app.service.version}",
                        lazy = true,
                        application = "${dubbo.application.id}",
                        registry = "${dubbo.registry.id}"
        )
        private MyInterface myInterface;

6:配置:有很多配置,目前我这用到的,一个是均衡负载配置,一个是服务降级配置,一个是集群容错(重试)负载均衡配置在服务端和客户端都可以配置,配置loadbalance属性即可,缺省为random,可以配置roundrobin
集群容错配置retries属性,
服务降级配置:在@Reference里配置mock属性
br/>负载均衡配置在服务端和客户端都可以配置,配置loadbalance属性即可,缺省为random,可以配置roundrobin
集群容错配置retries属性,
服务降级配置:在@Reference里配置mock属性

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:dubbo项目开发实战-创新互联
文章位置:http://myzitong.com/article/dsjpsj.html