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

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

开发者学堂课程【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属于微服务的垫脚石,也是十分重要的,大家需要系统地了解学习。

相关文章
|
15天前
|
设计模式 数据管理 测试技术
后端开发中的微服务架构设计哲学
【8月更文挑战第23天】在软件开发的海洋中,微服务架构如同一艘精心设计的船只,它以独特的设计理念和航行技巧,引领着后端开发的未来。本文将探讨微服务的核心概念、设计原则以及如何将这些理念融入到日常的开发实践中,旨在为读者提供一套清晰的微服务设计指南。
|
2天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
11 2
|
11天前
|
Kubernetes 中间件 API
微服务开发到部署视频教程全集
微服务开发到部署视频教程全集
|
11天前
|
缓存 中间件 API
从开发到部署微服务保姆级视频教程
从开发到部署微服务保姆级视频教程
|
12天前
|
Kubernetes Nacos 微服务
微服务注册与发现的原理与实现
微服务注册与发现的原理与实现
|
18天前
|
存储 运维 Cloud Native
后端开发中的微服务架构实践
在这个数字化快速发展的时代,后端技术不断演进以支撑日益增长的互联网服务需求。微服务架构作为现代软件工程的一种重要范式,以其灵活性、可维护性和可扩展性受到企业的青睐。本文将深入探讨微服务的核心概念、设计原则以及在实际应用中面临的挑战和解决策略,旨在为后端开发人员提供一套清晰的微服务架构实践指南。
|
10天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
10天前
|
负载均衡 应用服务中间件 持续交付
微服务架构下的Web服务器部署
【8月更文第28天】随着互联网应用的不断发展,传统的单体应用架构逐渐显露出其局限性,特别是在可扩展性和维护性方面。为了解决这些问题,微服务架构应运而生。微服务架构通过将应用程序分解成一系列小型、独立的服务来提高系统的灵活性和可维护性。本文将探讨如何在微服务架构中有效部署和管理Web服务器实例,并提供一些实际的代码示例。
36 0
|
2天前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
18 5
|
15天前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
在5G电信领域,Kubernetes集群中部署微服务至关重要,但也带来了重大的安全挑战。Istio作为一个强大的开源服务网格,能有效地管理这些微服务间的通信,通过其控制平面自动将Sidecar代理注入到各微服务Pod中,确保了安全且高效的通信。Istio的架构由数据平面和控制平面组成,其中Sidecar代理作为Envoy代理运行在每个Pod中,拦截并管理网络流量。此外,Istio支持多种Kubernetes发行版和服务,如EKS等,不仅增强了安全性,还提高了应用性能和可观测性。
39 0
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
下一篇
DDNS