开发订单微服务与注册调用|学习笔记(一)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 快速学习开发订单微服务与注册调用

开发者学堂课程【5天突破 Spring Cloud开发订单微服务与注册调用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/781/detail/13701


开发订单微服务与注册调用

 

内容介绍:

一、引入 Spring Cloud 微服务 API

二、把 Spring Cloud 微服务 API 发布到注册中心

三、结语

 

一、引入 Spring Cloud 微服务 API

image.png

1、基础知识

现已有注册中心,上图中的Eureka可以使用,但是后续的更新维护基本上停掉了,可以作为学习的一个入门点,其中很多经典的思想影响了后续类似的技术,包括concern网络、阿里出的功能实际可以认为是增强版的Eureka,它的功能更强更丰富,但在基础功能两者之间事有很多相似点的。现在有了注册中心,加入单点用于开发和测试环节,正式环境时推荐多点模式,当只有一个注入中心、一个程序的时候,以防程序挂掉,无法提供注册服务、参与服务。

2、微服务基本构架

开发一个服务程序并构建起基本架构。服务程序可以参照训练营课程中的技术去改造,回顾之前课程中提到的问题:做简单的网站开发或者简单的网站后台技术开发,实际上升到微服务架构的问题上。如果公司业务架构具有架构升级的发展需要,典型代表就是微服务架构,微服务程序主要是基于HTTP协议的具有API风格的应用程序后台接口,之前的某些概念依然适用,比如像集群的概念。

拆体现了很重要的分割思想,大型的互联网平台中的很多功能会拆分出来,比如订单、支付、快递、评论、点赞、会员、营销、用户行为数据等接口都可以拆分出来,但是有些接口在后台进行部署的时候,可能会进行数量的更改,可能早期部署两台,后期随着业务增长可能部署100台甚至1000台。

3、典型案例

典型案例就是淘宝,淘宝在创业公司阶段的时候可能只有一两台服务器,业务发展到今天,它的服务器数量达到了上万台,这和其业务规模有很大的关系。同样的,有很多游戏公司也会出现这种典型的场景,发布一款游戏,前期可能只需要几十台游戏服务器,一旦用户量暴增需要随时扩容,比如游戏的接口、游戏语音聊天的接口,接口可以随着用户量的增长而增加。像腾讯开发的一款游戏穿越火线,而腾讯的游戏部门上线了很多游戏,前期可能只有几台服务器,如果没有太多人玩这款游戏,后期就没必要为这款游戏分配服务器,根据业务的不断变化去进行集群规模的提升与伸缩,即弹性集群,可以做到张弛有度,这就是比较好的集群架构。

微服务架构同样如此,开发一个订单服务,前期没有用户的时候,几台服务器就可以满足需求,节约服务器资源,后期用户较多的时候可以进行集群数量的提升,随时需要随时加服务器也可以,如今服务器实例的启动、部署是十分便捷高效的快,这应用了一个很重要的技术doccer,互联网公司普遍使用这种模式。

客户端严格来说实际是不限制程序类型的,可以是APP,也可以是网页小程序或者是其他语言的程序,因为接口写好以后数据格式的协议都是固定的,大家按照这种模式进行交互就可以了。

 

二、把 Spring Cloud 微服务 API 发布到注册中心

1、开发 Spring Cloud 微服务 API

下面进行模拟订单服务,订单服务可以拿之前实战训练营三层架构的订单例子做实验,甚至可以把数据库连接起来,一步步将工作组合。但之前写的spring boot程序和spring cloud 有一部分的区别。

image.pngspring boot是微服务架构学习很重要的基础,如果不理解spring boot,在后面开发的话也很困难,很多功能、组件无法使用,不论三层架构还是五层架构,还是N层架构,架构的分法后期可以根据业务情况进行动态的升级改造,升级改造很重要的一点是要体现出和注册中心的联系,作为一个程序需要完成注册。

以现实生活为例,所有的居民如果实现自治,比如原始部落,大家都不登记,也不注册,通过数人数就可以知道本部落的人口,一旦人口数量增多,就需要通过登记来管理。

Eureka就是充当这种角色。大家到公司入职需要进行入职登记,像我们国家现有的制度——居住证,可以证明你在某个城市居住过,这也是类似与Eureka的模式。

服务器集群数量可以多可以少,现实生活中也是一样的,有的城市人口数量呈爆炸性增长,属于人口迁入城市,有的城市人口可能下降,属于人口迁出城市。一个普通的程序要想做到注册,比较简单的方式是可以通过添加依赖的方式扩展程序,让它具备注册功能,利用了Eureka客户端的依赖.

image.png在spring boot基础上稍作改造就成为了订单微服务,spring boot属于微服务的垫脚石,也是十分重要的,大家需要系统地了解学习。

相关文章
|
3天前
|
运维 监控 API
后端开发中的微服务架构:优势与挑战
【8月更文挑战第16天】在软件开发的世界中,微服务架构已经成为一种流行和强大的设计模式。它通过将应用程序分解为一组小型、独立的服务来促进敏捷开发和快速迭代。本文旨在深入探讨微服务架构的核心优势以及实施过程中可能遇到的挑战,帮助读者更好地理解这一现代软件设计方法。
|
3天前
|
负载均衡 Java Nacos
EureKa详解:微服务发现与注册的利器
EureKa详解:微服务发现与注册的利器
|
5天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
微服务开发框架-----Apache Dubbo
|
2天前
|
运维 监控 数据库
后端开发中的微服务架构:优势与挑战
【8月更文挑战第17天】在软件开发领域,微服务架构已成为构建复杂系统的重要方法。它通过将应用程序拆分成小型、独立的服务,提高了系统的可维护性、可扩展性和灵活性。然而,这种架构风格也带来了新的挑战,如服务间的通信、数据一致性和运维复杂性等。本文将深入探讨微服务架构的优势和面临的主要问题,并分析如何在实际应用中平衡这些利弊。
|
4天前
|
Kubernetes Nacos 微服务
【技术难题破解】Nacos v2.2.3 + K8s 微服务注册:强制删除 Pod 却不消失?!7步排查法+实战代码,手把手教你解决Nacos Pod僵死问题,让服务瞬间满血复活!
【8月更文挑战第15天】Nacos作为微服务注册与配置中心受到欢迎,但有时会遇到“v2.2.3 k8s 微服务注册nacos强制删除 pod不消失”的问题。本文介绍此现象及其解决方法,帮助开发者确保服务稳定运行。首先需检查Pod状态与事件、配置文件及Nacos配置,确认无误后可调整Pod生命周期管理,并检查Kubernetes版本兼容性。若问题持续,考虑使用Finalizers、审查Nacos日志或借助Kubernetes诊断工具。必要时,可尝试手动强制删除Pod。通过系统排查,通常能有效解决此问题。
10 0
|
4天前
|
安全 Nacos 数据库
【技术安全大揭秘】Nacos暴露公网后被非法访问?!6大安全加固秘籍,手把手教你如何保护数据库免遭恶意篡改,打造坚不可摧的微服务注册与配置中心!从限制公网访问到启用访问控制,全方位解析如何构建安全防护体系,让您从此告别数据安全风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其公网暴露可能引发数据库被非法访问甚至篡改的安全隐患。本文剖析此问题并提供解决方案,包括限制公网访问、启用HTTPS、加强数据库安全、配置访问控制及监控等,帮助开发者确保服务安全稳定运行。
12 0
|
4天前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
19 0
|
5天前
|
开发框架 Dubbo 应用服务中间件
微服务开发框架-----Apache Dubbo
这篇文章介绍了Apache Dubbo微服务开发框架,它提供RPC通信和微服务治理能力,支持服务发现、负载均衡和流量治理等功能,并强调了Dubbo在微服务规模化实践和企业级治理方面的优势。
|
2天前
|
监控 负载均衡 API
从单体到微服务:架构转型之道
【8月更文挑战第17天】从单体架构到微服务架构的转型是一项复杂而系统的工程,需要综合考虑技术、团队、文化等多个方面的因素。通过合理的规划和实施策略,可以克服转型过程中的挑战,实现系统架构的升级和优化。微服务架构以其高度的模块化、可扩展性和灵活性,为业务的持续发展和创新提供了坚实的技术保障。
|
13天前
|
缓存 监控 API
【微服务战场上的神秘守门人】:揭秘API网关的超能力 —— 探索微服务架构中的终极守护者与它的神奇魔法!
【8月更文挑战第7天】随着微服务架构的流行,企业应用被拆分为围绕特定业务功能构建的小型服务。API网关作为微服务间的通信管理核心,对请求进行路由、认证、限流等处理,简化客户端集成并提升用户体验。以电商应用为例,通过Kong部署API网关,配置产品目录等服务的API及JWT认证插件,确保安全高效的数据交互。这种方式不仅增强了系统的可维护性和扩展性,还提供了额外的安全保障。
31 2