开发者学堂课程【Spring Cloud Alibaba Nacos 详解(下):课程总结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/725/detail/12946
课程总结
内容介绍:
一、什么是微服务
二、什么是服务发现
三、什么是 Nacos
四、Spring Cloud Alibaba 综合集成架构演示
一、什么是微服务
我们要知道微服务架构——单体架构演变成微服务架构,是把功能模块拆分成一个个服务,通过服务之间的协作完成整个流程。每一个服务就是微服务。
二、什么是服务发现
在微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。
这样在我们的代码中免不了要进行服务间的远程调用,服务的消费方要调用服务的生产方,为了完成- -次请求 ,消费方需要知道服务生产方的网络位置(P地址和端口号)。
具体服务发现,推荐采用服务发现中心,由服务发展中心统一管理服务的位置,微服务从服务中心获取微服务的地址进行远程调用
三、什么是 Nacos
Nacos 是阿里的一个开源产品,它是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案。
官方介绍是这样的:
Nacos 致力于帮助您发现、配置和管理微服务。 Nacos 提供了-组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微]服务平台。 Nacos 是构建以”服务”为中心的现代应用架构的服务基础设施。
优点: Nacos 可以注册管理 Spring Cloud 基于 http 协议的接口和基于 dubbo 服务的接口
1. Nacos 服务发现数据模型
命名空间
用于进行租户粒度的配置隔离,命名空间不仅适用于 Nacos 的配置管理,同样适用于服务发现。Namespace 的常用场景之一是不同环境的配置的区分隔离 ,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。
服务
提供给客户端的软件功能,通过预定义接口网络访问。
服务名
服务提供的标识,通过该标识可以唯一确定其指代的服务。
实例
提供一个或多个服务的具有可访问网络地址( IP:Port )的进程,启动-个服务,就产生了一个服务实例。
元信息
Nacos 数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签(label) ,从作用范围来看,分为服务级别的元信息.集群的元信息及实例的元信息。
<!--元信息能够让Nacos 更具备扩展性,用户可以自定义数据用于描述实例、服务、集群等- ->
四、Spring Cloud Alibaba 综合集成架构演示
这个系统架构,需要掌握的是每个部分的职责,分层和每部分开发的方法。
网关是接入层,application 是应用层,service 是服务层
优点:
应用层可以适应用户的变化,对外提供 http 接口;服务层更加稳定的支撑应用层的变化,对外提供 dubbo 协议的接口
Dubbo 协议接口的性能好于 http 协议的接口,故微服务之间交互采用 dubbo 协议,应用层与服务层之间也是采用 dubbo 协议
为方便其他服务调用 dubbo 服务,建议专门定义 api 工程,此工程将作为 jar 被其它工程依赖。