ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从0到微服务-2

2022-05-19 01:03:04  阅读:114  来源: 互联网

标签:服务 接口 文档 new com public


上一节简单的了解下单体应用与微服务之间的一些关系。接下来我们就详细初步了解下微服务构架。

一、服务调用的基本组件

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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有