Spring Cloud Alibaba提供的组件如下:
Sentinel:阿里巴巴开源产品,不仅仅可以作为断路器,也支持流量控制和服务降级。
Nacos:阿里巴巴开源产品,服务注册与服务发现,同时也可以作为配置中心。
RocketMQ:阿里巴巴开源的分布式消息和流计算平台。
Dubbo:阿里巴巴开源产品,高性能Java RPC框架,服务通信组件。
Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
Alibaba Cloud ACM:其前身为淘宝内部配置中心Diamond,是一款应用配置中心产品,需付费。
Alibaba Cloud OSS:阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,需付费。
Alibaba Cloud SMS:阿里云短信服务,需付费。
Alibaba Cloud SchedulerX:阿里中间件自研的基于Akka架构的新一代分布式任务调度平台,需付费。
lombok
服务通信基础实例
分别存放业务层实现类和REST层的Controller类。
service包中新建HelloServiceImpl类
package ltd.newbee.cloud.service;
import org.springframework.stereotype.Component;
@Component
public class HelloServiceImpl {
public String getName(){
return "service01"; //定义了getName()方法,方法作用是返回一个字符串。
}
}
web包中新建HelloServiceController类,代码如下:
package ltd.newbee.cloud.web;
import ltd.newbee.cloud.service.HelloServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloServiceController {
@Autowired
private HelloServiceImpl helloService;
@GetMapping("/hello")
public String hello() {
// 调用本地方法,并通过HTTP协议进行响应
return "hello from " + helloService.getName();
}
}
@RestController注解,所以并不会返回视图对象。类中定义了hello()方法,映射地址为/hello,在访问该地址后会返回一串字符串给调用端。
使用HttpClient处理请求
在pom.xml文件中添加httpclient的依赖配置,代码如下:
<dependency>
<groupId>org.apache.httpcomponents