课程总结 | 学习笔记

简介: 快速学习课程总结。

开发者学堂课程【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 服务发现数据模型

图片.png

命名空间

用于进行租户粒度的配置隔离,命名空间不仅适用于 Nacos 的配置管理,同样适用于服务发现。Namespace 的常用场景之一是不同环境的配置的区分隔离 ,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。

服务

提供给客户端的软件功能,通过预定义接口网络访问。

服务名

服务提供的标识,通过该标识可以唯一确定其指代的服务。

实例

提供一个或多个服务的具有可访问网络地址( IP:Port )的进程,启动-个服务,就产生了一个服务实例。

元信息

Nacos 数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标签(label) ,从作用范围来看,分为服务级别的元信息.集群的元信息及实例的元信息。

<!--元信息能够让Nacos 更具备扩展性,用户可以自定义数据用于描述实例、服务、集群等- ->


四、Spring Cloud Alibaba 综合集成架构演示

这个系统架构,需要掌握的是每个部分的职责,分层和每部分开发的方法。

网关是接入层,application 是应用层,service 是服务层

优点:

应用层可以适应用户的变化,对外提供 http 接口;服务层更加稳定的支撑应用层的变化,对外提供 dubbo 协议的接口

Dubbo 协议接口的性能好于 http 协议的接口,故微服务之间交互采用 dubbo 协议,应用层与服务层之间也是采用 dubbo 协议

图片.png

为方便其他服务调用 dubbo 服务,建议专门定义 api 工程,此工程将作为 jar 被其它工程依赖。

相关文章
|
数据采集 并行计算 Java
【文末送书】Python高并发编程:探索异步IO和多线程并发
【文末送书】Python高并发编程:探索异步IO和多线程并发
538 0
|
消息中间件 存储 安全
SpringBoot与RabbitMQ详解与整合
SpringBoot与RabbitMQ详解与整合
2960 0
|
8月前
|
人工智能 自然语言处理 API
8.6K star!完全免费+本地运行+无需GPU,这款AI搜索聚合神器绝了!
FreeAskInternet是一款革命性的开源项目,它完美结合了多引擎搜索和智能语言模型,让你在不联网、不花钱、不暴露隐私的情况下,获得媲美ChatGPT的智能问答体验。这个项目最近在GitHub上狂揽8600+星,被开发者称为"本地版Perplexity"。
387 2
|
8月前
|
Java
java中一个接口A,以及一个实现它的类B,一个A类型的引用对象作为一个方法的参数,这个参数的类型可以是B的类型吗?
本文探讨了面向对象编程中接口与实现类的关系,以及里氏替换原则(LSP)的应用。通过示例代码展示了如何利用多态性将实现类的对象传递给接口类型的参数,满足LSP的要求。LSP确保子类能无缝替换父类或接口,不改变程序行为。接口定义了行为规范,实现类遵循此规范,从而保证了多态性和代码的可维护性。总结来说,接口与实现类的关系天然符合LSP,体现了多态性的核心思想。
199 0
|
监控 Java API
构建微服务架构的简易指南
【8月更文挑战第31天】在这篇文章中,我们将探索如何从零开始搭建一个微服务架构。通过简单易懂的语言和步骤,我们将一起学习设计、实现和部署微服务的最佳实践。无论你是后端开发的新手还是希望提升现有技能,本文都将为你提供有价值的指导。
|
SQL 关系型数据库 MySQL
阿里面试:1000万级大表, 如何 加索引?
45岁老架构师尼恩在其读者交流群中分享了如何在生产环境中给大表加索引的方法。文章详细介绍了两种索引构建方式:在线模式(Online DDL)和离线模式(Offline DDL),并深入探讨了 MySQL 5.6.7 之前的“影子策略”和 pt-online-schema-change 方案,以及 MySQL 5.6.7 之后的内部 Online DDL 特性。通过这些方法,可以有效地减少 DDL 操作对业务的影响,确保数据的一致性和完整性。尼恩还提供了大量面试题和解决方案,帮助读者在面试中充分展示技术实力。
|
数据可视化 API PHP
学生信息管理系统-可视化-科目管理CRUD代码生成器
学生信息管理系统-可视化-科目管理CRUD代码生成器
188 5
|
存储 监控 安全
几种确保数据安全的方法:
几种确保数据安全的方法:
797 3
|
网络协议 安全 Unix
聊聊TCP中的TIME_WAIT
【4月更文挑战第4天】 TIME_WAIT 的产生、作用以及优化
|
消息中间件 微服务
RabbitMQ入门指南(四):交换机与案例解析
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了交换机在RabbitMQ中的作用与类型、交换机案例(Fanout交换机、Direct交换机、Topic交换机)等内容。
817 0