什么是微服务:一种软件架构风格,以专注于单一职责的很多小型项目为基础,组合出复杂的大型应用
为什么使用微服务:
单一职责:一个微服务负责一部分业务功能,其核心数据不依赖于其他模块,
团队自治、服务自治:微服务独立打包部署,避免了其他服务的影响
单体架构可用性较差,功能之间的相互影响比较大:某一接口的并发量过高会影响其他接口的性能
拆分要求:高内聚低耦合(想起了设计模式)
横向:按照业务模块拆
纵向:抽取公共服务,提高复用性
拆分:本身最大的项目是project,每一个项目都是一个module,通过maven聚合进行拆分。
拆分之后如果有两个业务需要互相调用,这时我们就需要远程调用
//1注入容器 @Bean public RestTemplate restTemplate(){ return new RestTemplate(); } <T> RestTemplate<T> exchange( String, HttpMethod, @nullable HttpEntity<?>, //请求实体 class<T>, //返回值类型 Map<K,V> //请求参数 );
关于返回值类型:
如果是普通类:直接admin.class即可
如果是集合类:字节码会擦除泛型,这里使用new ParameterizedTypeReference<>() {},即可,返回一个ResponseEntity<T>类型数据,getBody即可取出其中内容
标签:服务,RestTemplate,拆分,new,返回值,class From: https://www.cnblogs.com/kun1790051360/p/18149317