阿里云的消息服务怎么集成spring boot

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云的消息服务怎么集成spring boot相关的知识,希望对你有一定的参考价值。

如何使用Spring Boot/Spring Cloud 实现微服务应用
spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

Spring Cloud与Dubbo对比
提到Dubbo,我想顺便提下ESB,目前央视新华社也在用ESB来做任务编排,这里先比较下Dubbo和ESB:

ESB(企业数据总线),一般采用集中式转发请求,适合大量异构系统集成,侧重任务的编排,性能问题可通过异构的方式来进行规避,无法支持特别大的并发。
Dubbo(服务注册管理),采用的是分布式调用,注册中心只记录地址信息,然后直连调用,适合并发及压力比较大的情况;其侧重服务的治理,将各个服务颗粒化,各个子业务系统在程序逻辑上完成业务的编排。

回归主题,Spring Cloud和Dubbo又有什么不同那,首先,我们看下有什么相同之处,它们两都具备分布式服务治理相关的功能,都能够提供服务注册、发现、路由、负载均衡等。说到这,Dubbo的功能好像也就这么多了,但是Spring Cloud是提供了一整套企业级分布式云应用的完美解决方案,能够结合Spring Boot,Docker实现快速开发的目的,所以说Dubbo只有Spring Cloud的一部分RPC功能,而且也谈不上谁好谁坏。不过,Dubbo项目现已停止了更新,淘宝内部由hsf替代dubbo,我想这会有更多人倾向Spring Cloud了。

从开发角度上说,Dubbo常与Spring、zookeeper结合,而且实现只是通过xml来配置服务地址、名称、端口,代码的侵入性是很小的,相对Spring Cloud,它的实现需要类注解等,多少具有一定侵入性。
参考技术A @Configuration
public class MnsConfig

@Bean
public MNSClient getClient()
CloudAccount account = new CloudAccount(
ServiceSettings.getMNSAccessKeyId(),
ServiceSettings.getMNSAccessKeySecret(),
ServiceSettings.getMNSAccountEndpoint());
MNSClient client = account.getMNSClient();
return client;



建一个配置类
使用的时候@Autowired
private MNSClient client 这样引入就可以了

将Spring-boot应用部署到Docker容器

1:Docker中设置阿里云加速

使用阿里云的加速器,因为在使用docker的时候,会需要从docker的网站下载镜像文件,下载速度可能会很慢。获得阿里云加速,需要登录阿里云开发者平台,然后点击右侧的管理中心:

阿里云开发者平台:https://dev.aliyun.com/search.html

注册开通服务后,会分配一个加速地址。

参考阿里云管理端进行Docker加速配置。

2:Spring-boot 应用程序打包部署

(1)gradle build –x test打包Spring-boot 应用:

spring-boot-demo-0.0.1-SNAPSHOT.jar

(2)将jar包上传至服务器

(3)创建Dockerfile文件,内容如下

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD spring-boot-demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

(4)通过docker进行编译、运行

[[email protected] docker]# docker build -f Dockerfile -t spring-boot-docker .

[[email protected] docker]# docker run -p 8081:8080  -d spring-boot-docker

8080表示对外提供服务的端口,8080是容器内部服务端口。

(5)访问测试

http://xxxx:8081/test/say/hello/to/Tom

 

以上是关于阿里云的消息服务怎么集成spring boot的主要内容,如果未能解决你的问题,请参考以下文章

架构实战篇:Spring Boot 集成 RocketMQ

Sping Boot入门到实战之实战篇:实现自定义Spring Boot Starter——阿里云消息队列服务Starter

Spring Boot消息服务

Spring boot实战项目整合阿里云RocketMQ 消息队列实现发送普通消息,延时消息

Spring boot实战项目整合阿里云RocketMQ 消息队列实现发送普通消息,延时消息

Spring boot实战项目整合阿里云RocketMQ 消息队列实现发送普通消息,延时消息