微服务架构、新特性与注册中心|学习笔记(一)

简介: 快速学习微服务架构、新特性与注册中心

开发者学堂课程【5天突破 Spring Cloud微服务架构、新特性与注册中心】学习笔记,与课程紧密联系,让用户快速学习知识。

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


微服务架构、新特性与注册中心

 

内容介绍:

一.微服务架构

二.20年软件架构演化之路

三.服务注册与发现

四.Spring Cloud Eureka 服务发现与注册

五.Eureka 注册中心开发实战

六.Spring Cloud 2020 重大变化

七.Spring Cloud 2020 微服务架构提醒

 

一、微服务架构 (Microsservices):

微服务架构强调微(micro),微服架构属于分布式架构,但又在其基础上进行了发展。

如中国的应用互联网产品:微博、微信,相比于PC时代的传统网站,微博源自于 Blog 思想,微信相当于 PC时代的聊天程序的移动版。相比之前的,更加微小、灵活。

手机桌面 APP 后台也是微服务架构。很多公司的业务场景及业务规模还达不到微服务。它们的架构多为三层、四层、五层,架构层次稍微扩展则形成分布式扩展,达到集群。

提及 Spring Cloud ,Java在微服务领域起步较早,实际案例较多 。绝大部分互联网公司的微服务框架都使用 Spring Cloud, 其他语言仿制的微服框架,也是以 Spring Cloud 为基础。

image.pngIOT 物联网设备(监控、车载设备可以通过物联网实现前端数据与后台交互,其中也可能使用微服务架构,比如高德地图,个人的位置信息会实时上传到公网服务器)

微服务可以与接口关联,一般指网络接口或公共接口 ,一些应用的登录功能、查询功能、评论功能、点赞功能都有专门的服务接口,考虑到应用的用户量等,所以不止有一台服务器接口。

在中国,当年以淘宝为首的互联网公司走了基于 Java mysql Linux 的免费的技术路线,抛弃了包括 IBM 大型机,以及其他的 EMC 昂贵的存储设备的技术架构。走了一条相对来说低成本的技术路线。

互联网公司服务器大多采用集群模式——多台模式(即多个低配的服务器),来实现一台高配置的昂贵的大型服务器所达到的处理的请求数量,如支付宝支付、交水电费、微信聊天、人脸识别等接口其后台在实际部署时都是多台服务器,具有高并发 、高可用的特点。保证服务尽量都是功能可用的状态。

 

二.20年软件架构演化之路

微服架构不一定完美、不一定必须。

架构一词源于建筑行业,指整体建筑物的结构,即架构。

微服务架构也是在之前的架构上一步步演化过来的,包括三层、四层、五层,到单体,再到分布式,中间还经历了 SOA 时代(面向服务的架构)。在不同时代背景下,应用、平台、软件架构都要适应当时的架构发展。image.png软件技术架构也在不断迭代演化,这是技术不断进步的体现。

image.png1. 微服务架构      

当时背景下大部分都是单体,全部在一个程序里开发,部署为 word  ,出现了拆分的理念。该领域最早探索的是 Netfix , 美国在线视频网站公司, 开发了基于 Java 的编程语言应用框架。淘宝则开发了不同的技术路线。

微服务架构模式 Microserivce

Dr.Peter Rodgers 2005 Could Computing Expo 技术大会上提出概念

2007, Netfix 开始向微服务架构师进发,并最终开源了自己研发的 Java 微服务框架,开源社区命名为 Spring Cloud

①微服务的定义:微服务是一种新型的软件架构风格,其将多个巨型服务应用,分解为多个独立的、微小的服务程序,单独部署,单独伸缩,去中心化(数据中心、管理中心),敏捷性、灵活性、需求变化,更加高效的软件架构模式。

②微服务架构:将单个应用拆分成多个独立的、微小的服务,体现了分家的概念,每个小服务程序运行在独立的进程中,服务与服务之间通过轻量协议通信,通信机制相互协作、互相配合,从而为终端用户提供价值,每个小服务可以采用不同的语言、框架、工具独立开发、测试、部署、运维。

Java 在语言语法,包括开发工具已经足够老,它相比于其他语言,已经不是最友好的,但它也一直在不断进步。Java 从诞生之初就开源,很多公司都使用,不管是 PNP 、或是J语言,高端软件人才,如架构师,设计模式比较早的工程实践探索基本都是 Java 领域率先推出,总结了更好的实践经验。Java 整个体系庞大。

Spring Cloud 专门解决微服务的技术架构方案。

image.png国内某些文章关于微服务提出者的说法有误,国外设计模式的经典书目的作者都是 Martin Fowler ,包括敏捷开发等,他是敏捷开发的提出人,在软件架构领域有很大影响,但他不是微服务的提出人。James Lewis 是  Martin Fowler同事,同样也有关于写关于微服务的书,Martin Fowler做序,他们共同推动微服务发展。目前在 Solidworks 做首席科学家,Solidworks 软件工程领域有名的咨询公司。

相关文章
|
存储 Kubernetes Cloud Native
一文搞懂云原生架构
目前,每个 IT 资源或产品都作为服务提供。而且伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂,都0202年了,如果还不懂云原生,那真的out了。因此,云原生软件开发成为每个企业的关键要求,无论其规模和性质如何。在加入云计算潮流之前,了解什么是云原生架构以及如何为云原生应用程序需求设计正确的架构非常重要。
一文搞懂云原生架构
|
Linux 网络安全 网络虚拟化
|
9月前
|
云安全 人工智能 安全
AI 云盾(Cloud Shield for AI)重磅发布,打造安全新范式
提供大模型应用端到端的安全解决方案
3317 48
|
4月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
存储 算法 数据挖掘
数据降维技术研究:Karhunen-Loève展开与快速傅里叶变换的理论基础及应用
本文探讨了Karhunen-Loève展开(KLE)和快速傅里叶变换(FFT)在数据降维与压缩中的应用。KLE通过最优正交基函数系统分解随机过程,适用于高维随机场的降维;FFT则将时域信号转换为频域表示,擅长处理周期性信号。两者结合可实现多尺度数据分析,在气象、工程等领域有广泛应用。
412 16
数据降维技术研究:Karhunen-Loève展开与快速傅里叶变换的理论基础及应用
|
9月前
|
前端开发 JavaScript 安全
7.6K Star Shadcn Admin:颜值与实力并存的后台管理系统,前端开发者的新宠!
"基于 Shadcn UI 和 Vite 打造的现代化管理后台,开箱即用的响应式设计 + 无障碍访问,让后台开发从未如此优雅!" —— 来自 GitHub 7.6K 星认证
2137 26
|
存储 弹性计算 调度
云计算,何为云,又何以计算?
本文由笠泱撰写,是“拥抱云计算”系列的第一篇章,旨在分享云计算的概念及其诞生背景,重点介绍了阿里云飞天操作系统。文章从虚拟化技术的起源讲起,探讨了其如何演变为云计算的基础,并详细解释了云计算的关键特性:按需使用、按量付费和弹性。文中还分类介绍了云计算的主要服务模式(IaaS、PaaS、SaaS等)及部署方式(公共云、私有云、混合云),并分析了亚马逊AWS和阿里云在云计算领域的领导地位。最后,文章通过对比OpenStack与阿里云飞天架构,深入浅出地解析了阿里云飞天系统如何调度算力,帮助读者理解云计算的实际运作机制。阅读本文大约需要30分钟,内容详实,值得一读。
2543 5
云计算,何为云,又何以计算?
|
人工智能 IDE 开发工具
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
Trae是字节跳动推出的一款免费的AI集成的开发环境,集成了Claude3.5与GPT-4o等主流AI模型,提供AI问答、智能代码生成、智能代码补全,多模态输入等功能。支持界面全中文化,为中文开发者提供了高效的开发体验
7428 11
从0到1彻底掌握Trae:手把手带你实战开发AI Chatbot,提升开发效率的必备指南!
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
3497 37
微服务架构解析:跨越传统架构的技术革命