go微服务项目“商城项目实战开发”整理第一部环境的准备

文章目录

    • 商城项目实战开发环境的准备
      • 01、微服务的简单概述
      • 02、为什么要用微服务?
      • 03、本次课程微服务的技术栈
      • 04、微服务的准备工作
      • 05、微服务项目的搭建和目录的划分
      • 06、微服务项目实战 - 用户服务-srv的搭建
      • 07、微服务项目实战 - 用户服务-api的搭建
      • 08、微服务项目实战 - 商品服务-srv的搭建
      • 09、微服务项目实战 - 商品服务-api的搭建
      • 10、微服务项目实战 - 订单服务-srv的搭建
      • 11、微服务项目实战 - 订单服务-api的搭建

商城项目实战开发环境的准备

在这里插入图片描述

01、微服务的简单概述

什么是微服务?简而言之,微服务是一种将应用程序设计和构建为小型、独立运行的服务集合的方式。一个单一的、整体的应用程序很像野外的孤独动物——比如北极熊——它需要它的所有身体部位完全正确地工作,并且作为一个单一的实体完全正确地工作,才能茁壮成长。相比之下,微服务就像一个蜂箱。每个微服务都有自己的应用程序编程接口 (API),并且可以独立访问和测试,并且像蜜蜂一样,让许多小工人执行相同的几个简单的互连任务可能比一个强大的个体执行更复杂的任务更有效率。

02、为什么要用微服务?

做什么事之前总要明白为什么要需要,然后才去做,不能盲目的因为别人用了所以我们也要用最后搞得非常复杂。没有微服务之前我们使用的是单体应用和集群服务。各种架构没有好坏之分,只有是否与业务场景适合,适合的才是最好的。

单体架构

在这里插入图片描述

优点:

1、架构简单,部署和运维方便,适合于小型的业务规模(绝大部分场景都是小型)。

2、使用统一的数据库,数据的唯一性和事实性比较好保持,出综合的数据统计和分析的时候很容易。

3、出现问题很容易判断是哪台服务器的应用或者是数据库服务出现了故障。

缺点:

1、有单点问题,如果宕机所有的服务都不可用。

2、所有业务的功能模块都聚集在一起,功能之前如果有很多共同的代码,不同业务的需求开发同时进行的时候,维护起来有点麻烦。

3、由于是单体,对请求的并发量有限制,一个tomcat,并发量千级左右。

4、扩展成本高,根据单体架构扩展只能增加服务器的硬件资源成本高,且硬件性能也有瓶颈到达瓶颈后无法在提升。

集群应用架构

在这里插入图片描述

缺点:

1、投入了更多的服务器。

2、部署服务的时候需要部署多套比单体复杂。

3、增加了负载均衡,架构单体要复杂。

优点:

1、改善了单点故障问题。

2、可以通过服务器的增加从而提高并发的访问能力。

微服务架构

在这里插入图片描述

什么是微服务?

微服务核心就是把传统的单机应用,根据业务将单机应用拆分为一个一个的服务,彻底的解耦,每一个服务都是提供特定的功能,一个服务只做一件事,类似进程,每个服务都能够单独部署,甚至可以拥有自己的数据库。这样的一个一个的小服务就是微服务。

优点:

1、系统变成一个高可用,且容易扩展的架构。

2、每个服务足够小,足够内聚,代码更加容易理解, 开发简单,一个服务只干一个事情。

3、多个微服务可以由不同的开发人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/667900.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度神经网络——什么是梯度提升?

在数据科学竞赛中,梯度提升模型(Gradient Boosting)是一种非常强大的工具,它能够将多个弱学习模型组合起来,形成一个强学习模型。这个过程是通过逐步添加弱学习者来实现的,每个新加入的弱学习者都专注于当前…

sudo命令的隐患-要注意安全使用!!严格管理!!严格控制

前言 众所周知,sudo命令非常方便,而且有一定的优点。比如不需要知道root密码就可以执行一些root的命令。相比于su 必须知道root密码来说,减少了root密码泄露的风险。 但是sudo也是一把非常锋利的双刃剑,需要加以限制,…

Python 关于字符串格式化

在Python中,字符串格式化有以下几种方法: 1.可以使用字符串的str.center(width), str.ljust(width), 和 str.rjust(width)方法来实现字符串的居中、左对齐和右对齐操作。 居中对齐: text "Python" centered_text text.center(10…

最新扣子(Coze)实战教程:如何创建扣子插件,完全免费,快来学习吧~

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 ⭐ 关注斜杠君,可获取完整…

Selenium+Java 环境搭建

selenium 介绍 Selenium 是 web 应用中基于 UI 的自动化测试框架,支持多平台、多浏览器、多语言。 早期的 selenium RC 已经被现在的 webDriver 所替代,可以简单的理解为selenium1.0webdriver 构成 现在的 Selenium2.0 。现在我们说起 selenium &#xf…

ESP32-C3模组上跑通OTA升级(10)

接前一篇文章:ESP32-C3模组上跑通OTA升级(9) 八、程序调试过程中遇到的问题及解决 前边各篇文章主要讲解了OTA的基础知识以及示例代码,但这其实是(远远)不够的,真正要在ESP32-C3芯片上跑通&…

Oracle创建用户/表空间/赋权常规操作

1. 登录oracle su - oracle sqlplus / as sysdba 2.查看库里存在的用户,防止冲突 SELECT username FROM all_users ORDER BY username; 3.查看库里存在的表空间,防止冲突 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space_MB f…

Windows 下 PostgreSQL 图形化界面安装、配置详解

相信大家对PostgreSQL都不陌生吧,自从MySQL被Oracle所控制后,PostgreSQL就成为了国内去O的首选数据库了,并且PostgreSQL目前不受任何商业公司控制,所以国内很多厂商都是基于PostgreSQL做二次开发来实现数据库自主可控的目标(国内很…

RH850F1KM——ADC模块

文章目录 前言一、Conversion time:转换时间二、参考电压三、分辨率scan group四、虚拟通道模数转换器-ADC基础 Autosar MCAL配置——ADC 前言 在RH850F1KM系列MCU中,ADCA模块即为ADC模块,如下是各个型号所具有的ADC物理单元。 时钟的频率决定ADC的触发频率,转换时间和采样…

单实例11.2.0.3迁移到RAC11.2.0.4_使用RMAN 异机恢复

保命法则:先备份再操作,磁盘空间紧张无法备份就让满足,给自己留退路。 场景说明: 1.本文档的环境为同平台、不同版本(操作系统版本可以不同,数据库小版本不同),源机器和目标机器部…

@Transactional事务注解内含乾坤?

文章目录 前置知识实战1、无事务操作2、事务操作 总结 前置知识 MyBatis中的工作原理 读取配置文件:数据库连接信息、事务管理信息以及映射文件的位置加载映射文件:加载Mapper.xml这些映射文件,解析其中的 SQL 语句和结果映射信息创建 SqlS…

SQL—DQL(数据查询语言)之小结

一、引言 在前面我们已经学习完了所有的关于DQL(数据查询语言)的基础语法块部分,现在对DQL语句所涉及的语法,以及需要注意的事项做一个简单的总结。 二、DQL语句 1、基础查询 注意: 基础查询的语法是:SELE…

【ai】livekit服务本地开发模式1:example app信令交互详细流程

文档要安装git lfs 下载当前最新版本1.6.1windows版本:启动dev模式 服务器启动 (.venv) PS D:\XTRANS\pythonProject\LIVEKIT> cd .

【Java数据结构】详解LinkedList与链表(一)

🔒文章目录: 1.❤️❤️前言~🥳🎉🎉🎉 2.ArrayList的缺陷 3.链表的概念及结构 4.无头单向非循环链表的实现 4.1成员属性 4.2成员方法 createList display——打印链表 addFirst——头插 addLast…

2024 年最新安装MAC-vue教学包括常见错误

花了一上午时间终于将 vue 的工程文件安装好了,本教材是傻瓜式操作,按着教程一步一步操作最后就可以看到页面了。 安装Node 1.在线地址: https://nodejs.org/en 2、点击 Download Node.js下载即可,下载完成后,傻瓜式的…

STL中stack的使用

目录 一、stack类介绍和使用 stack类介绍 stack类定义 stack类常见构造函数 stack数据操作 empty()函数 top() pop() 和 push() 函数 size()函数 swap()函数 一、stack类介绍和使用 stack类介绍 1.stack是一种容器适配器,专门用在具有后进先出操作的上下…

骨传导耳机防踩雷秘诀是什么?六大选购技巧独家揭秘!

相信大家都已经深有体会,拿那种常规的入耳式无线蓝牙耳机来做运动耳机,很难满足运动需要。如果选择前两年流行的颈挂式无线运动蓝牙耳机,虽然简单轻巧,但也是入耳式设计,长时间佩戴耳朵不舒服。这样看来,运…

【云原生】kubernetes中的认证、权限设置--RBAC授权原理分析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型。随着工业4.0时代的到来,制造业正面临着前所未有的变革与挑战。在这场变革中,金属切削机床智能工厂工业物联数字孪生平台正成为推动制造业数字化转型的重要力量。 数字孪生是指…