大气的门户网站,企业信息系统规划,做中英文版的网站需要注意什么,如何制作一个自己的网站在微服务的所有框架中#xff0c;SpringCloud脱颖而出#xff0c;它是目前国内使用的最广泛的微服务框架 #xff08;官网地址#xff09;#xff0c;它集成了各种微服务功能组件#xff0c;并基于SpringBoot实现了这些组件的自动装配#xff0c;从而提供了良好的开箱… 在微服务的所有框架中SpringCloud脱颖而出它是目前国内使用的最广泛的微服务框架 官网地址它集成了各种微服务功能组件并基于SpringBoot实现了这些组件的自动装配从而提供了良好的开箱即用的体验 服务拆分
服务拆分注意事项
单一职责不同的微服务不要重复开发相同的业务数据独立不要访问其他微服务的数据库面向服务将自己的业务暴露为接口供其他微服务调用 分别的在自己的模块中查询到自己所需要的信息但是两个服务之间没有任何的联系我们怎么样才能实现远程调用功能将我们所需要的信息做一个整合返回给我们客户端呢
假如服务A调用服务B以后用A、B简称服务
一般有两种方式
RestTemplate
1.在服务A的启动层中注册RestTemplate
MapperScan(***)
SpringBootApplication
public class OrderApplication {public static void main(String[] args) {SpringApplication.run(OrderApplication.class, args);}/*** 创建RestTemplate并注入Spring容器*/Beanpublic RestTemplate restTemplate() {return new RestTemplate();} 2.在A服务的service层远程调用RestTemplate Autowired //进行依赖注入private RestTemplate restTemplate;public Order queryOrderById(Long orderId) {// 1.查询订单Order order orderMapper.findById(orderId);// 2.利用RestTemplate发起http请求查询用户// 2.1.url路径 服务B请求的URL路径String url http://http://127.0.0.1:8080/user/ order.getUserId();// 2.2.发送http请求实现远程调用User user restTemplate.getForObject(url, User.class);// 3.封装user到Orderorder.setUser(user);// 4.返回return order;} 微服务调用方式RestTemplate请求远程调用是与语言无关性的调用只要知道对方的ip、端口、接口路径、请求参数即可
Feign客户端后面会细讲
服务调用的关系
服务提供者暴露接口给其他微服务调用服务消费者调用其他微服务提供的接口提供者与消费者其实是相对的一个服务可以同时是服务提供者和服务消费者