上一节简单的了解下单体应用与微服务之间的一些关系。接下来我们就详细初步了解下微服务构架。
一、服务调用的基本组件
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开发每个部分都要熟练掌握,才能迅速的定位出问题,解决分析问题,后面章节我们会详细讲解,谢谢。
标签:服务,接口,文档,new,com,public 来源: https://www.cnblogs.com/chch213/p/16286956.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。