从0到微服务-2 服务构成
上一节简单的了解下单体应用与微服务之间的一些关系。接下来我们就详细初步了解下微服务构架。
一、服务调用的基本组件
1、服务定义:
简单理解下,就是作为服务提供者到底怎么的方式提供给消费者调用,api接口?xml报文?
以api接口为例,需要提供一份在线文档能够让调用者知道:调用你的接口我需要做什么?出入参是什么?
相信大家对Swagger不会陌生了,简单说2种:
配置类简单如下:
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket webApiConfig() { return new Docket(DocumentationType.SWAGGER_2) .groupName("userApi") .apiInfo(webApiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example")) .paths(PathSelectors.any()) .build(); } private ApiInfo webApiInfo() { return new ApiInfoBuilder() .title("接口文档") .description("本文档描述了微服务接口定义") .version("1.0") .contact(new Contact("java", "http://atguigu.com", "1123@qq.com")) .build(); } }
增强版swagger:
@Configuration @EnableOpenApi public class Knife4jConfig { }
官方网址详细wiki指导:
1.6 快速开始 | knife4j (xiaominfo.com)
2、注册中心:
为了解决服务的发布与订阅,服务提供者需要一个地方存放服务接口信息,这样外部调用者需要的时候就从这里这地方直接取,衍生出注册中心的概念。
注册中心的工作流程如下:
3、服务框架:
简单理解下就是:
服务之间的通信我用什么方式:TCP?HTTP? RPC?
数据传输采用什么方式:同步?异步?
数据格式:JSON?java序列化对象?
4、服务监控:
目标:能够及时的发现服务问题以及服务之间的问题
5、服务追踪:
目标:发现问题,能够及时的定位出问题
6、服务治理:
目标:解决问题,比如依赖服务不可用采用熔断。
对于JAVA开发每个部分都要熟练掌握,才能迅速的定位出问题,解决分析问题,后面章节我们会详细讲解,谢谢。
本文来自博客园,作者:chch213,转载请注明原文链接:https://www.cnblogs.com/chch213/p/16286956.html