首页 > 其他分享 >SpringCloud微服务学习笔记(一)

SpringCloud微服务学习笔记(一)

时间:2023-09-24 17:25:33浏览次数:43  
标签:服务 项目 SpringCloud 笔记 学习 单体 模块 架构 团队

微服务介绍

用于开发大型项目时,将所有代码都放在一个项目中会增加压力,而且单体架构的并发数也有限,占用的线程多的时候就不行了。这时就需要用到微服务分布式开发。

单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单,当项目规模较小时,这种模式上手快,部署、运维也都很方便,因此早期很多小型项目都采用这种模式。

但随着项目的业务规模越来越大,团队开发人员也不断增加,单体架构就呈现出越来越多的问题:

  • 团队协作成本高:试想一下,你们团队数十个人同时协作开发同一个项目,由于所有模块都在一个项目中,不同模块的代码之间物理边界越来越模糊。最终要把功能合并到一个分支,你绝对会陷入到解决冲突的泥潭之中。

  • 系统发布效率低:任何模块变更都需要发布整个系统,而系统发布过程中需要多个模块之间制约较多,需要对比各种文件,任何一处出现问题都会导致发布失败,往往一次发布需要数十分钟甚至数小时。

  • 系统可用性差:单体架构各个功能模块是作为一个服务部署,相互之间会互相影响,一些热点功能会耗尽系统资源,导致其它服务低可用。

 

微服务架构,首先是服务化,就是将单体架构中的功能模块从单体应用中拆分出来,独立部署为多个服务。同时要满足下面的一些特点:

  • 单一职责:一个微服务负责一部分业务功能,并且其核心数据不依赖于其它模块。

  • 团队自治:每个微服务都有自己独立的开发、测试、发布、运维人员,团队人员规模不超过10人(2张披萨能喂饱)

  • 服务自治:每个微服务都独立打包部署,访问自己独立的数据库。并且要做好服务隔离,避免对其它服务产生影响

 

标签:服务,项目,SpringCloud,笔记,学习,单体,模块,架构,团队
From: https://www.cnblogs.com/hepingan/p/17726229.html

相关文章

  • #20211105李宜时《信息安全系统设计与实现》第三周学习总结
    20211105李宜时《信息安全系统设计与实现》第三周学习总结学习不同编程语言的必备要素和技能1.语法和基本结构了解编程语言的语法和基本结构是编程的第一步。这包括变量、数据类型、运算符、条件语句、循环结构等。以下是Python、C和Java中的示例代码片段:Python#定义变量并......
  • Python教程(14)——Python函数的入门学习
    函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。函数通常包括以下组成部分:函数名:用于标识函数,并可以通过函数名调用执行该函数。参......
  • 《信息安全系统设计与实现》学习笔记3
    第十章sh编程sh脚本sh脚本是一个包含sh语句的文本文件,命令行解释程序sh要执行该语句。创建文件文本mysh,包含:#!/bin/bash#commentlineechohellosh脚本与C程序sh脚本和C程序有一些相似之处,但他们在根本上是不同的。sh是解释程序,逐行读取sh脚本并直接执行这些行,而C......
  • MySQL实战45讲基础篇笔记
    基础架构与查询连接器1、root用户更改普通用户的权限将在下次普通用户重连时生效,即不会影响到当前连接的用户。2、空闲状态的链接经过设置的等待时间后会断开连接,下次使用需要重连。3、长连接和短连接:建立连接的过程比较复杂-->少使用短连接4、长连接使用时间MySQL内存占用......
  • 【监督学习:线性回归和分类】3.分类
    逻辑回归分类问题假设预测的变量y是离散的值,需要使用逻辑回归(LogisticRegression,LR)的算法,实际上它是一种分类算法。二元分类二元分类问题是指y只有两个离散值的情况,例如:垃圾邮件分类:y=1表示是垃圾邮件,y=0表示不是垃圾邮件癌症检测:y=1表示患有癌症,y=0表示没有癌症假说表......
  • 2023 20213423梁锦辉《计算机基础与程序设计》第一周学习总结
    2023-2024-1 20213423  《计算机基础与程序设计》第1周学习总结作业信息:加入云班课,参考学习本周学习资源注册博客园账号,加入2022-2023-1-计算机基础与程序设计参考 基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系统快速浏览一遍教材计算机科学概论,课本每章......
  • 初章·一个slam小白的学习之路
    个人简介:坐标魔都,攀岩爱好者,大三CS本科生,从小没有竞赛经历,靠高考小宇宙爆发考上了现在的学校(小众院校,不是top但很卷),被一众oi大佬吊打,目前专业排名68%。由于大一和大二GPA太拉报不了三加一,于是决定在学校的实验室多花些时间。大二加入了学校的slam实验室,一脸懵逼地自学了半年的slam......
  • 【Pandas笔记总结】
    【一】Pandos初识Pandas是什么Pandas主要特点Pandas主要优势Pandas内置数据结构Pandas下载与安装【二】PandasSeries入门PandasSeries是什么PandasSeries创建PandasSeries访问PandasSeries常用属性PandasSeries常用方法【三】PandasDataFrame入门P......
  • 20211128李杰《信息安全系统设计与实现》第十章笔记
    一、任务内容自学教材第10章,提交学习笔记(10分) 大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的? ,评分标准如下 1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行......
  • python列表入门学习
    Python是一个非常强大且易于学习的编程语言,而列表(list)是Python中最常用的数据结构之一。无论你是初学者还是经验丰富的开发者,理解和掌握Python列表的使用都是非常重要的。1.什么是列表?列表是一个有序的元素集合,可以容纳多个值,这些值可以是任何数据类型。#定义一个空列表empt......