SpringCloud微服务架构
文章平均质量分 96
青木编码
技术,经验分享,在平台跟大家相互学习,共同进步
展开
-
11-微服务问题总结
当我们在执行一些SQL脚本时(例如 nacos-mysql.sql文件),假如出现如下错误,请升级你的mysql(建议mysql5.7以上或MariaDB 10.5.11)问题1:没有配置JAVA_HOME环境变量,或者JDK有问题问题2:nacos链接mysql时,链接配置问题问题3:启动命令用错位置第一步:添加或编辑配置,例如:第二步:新建 shell Script脚本,例如:第三步:输入nacos信息,例如第四步:启动nacos,例如:假如出现依赖下载不下来,或者pom.xml文件原创 2022-06-13 08:37:46 · 444 阅读 · 0 评论 -
10-微服务核心知识点及问题分析
第二步:在sca-ui工程中创建一个springboot启动类,类全名为com.jt.DemoUIApplication.第三步:在sca-ui工程的resources目录下创建一个static目录,并在此目录中创建一个index.html页面第四步:启动sca-ui工程,在浏览器中输入http://localhost:8080/index.html进行测试.JAVA_HOME环境变量定义错误,例如:说明,这里一定要注意JAVA_HOME单词的拼写,JAVA_HOME中定义的JDK是存在的,还有原创 2022-06-13 08:34:54 · 231 阅读 · 0 评论 -
09-SSO微服务工程中用户行为日志的记录
用户在sso-resource工程访问我们的资源数据时,获取用户的行为日志信息,然后传递给sso-system工程,将日志信息存储到数据库.本次设计中,系统服务负责将其它服务获取的用户行为日志写入到数据库。定义一个Log对象,用于在内存中存储用户行为日志信息(谁在什么时间,执行了什么操作,访问了什么方法,传递了什么参数,耗时是多少,是否成功,假如失败了异常是什么),例如:Dao 逻辑实现第一步:创建用户行为日志数据层对象,用于处理数据持久化逻辑,例如第二步:定义单元测试,对数据层方法进行单元测试Se原创 2022-06-13 08:33:14 · 330 阅读 · 0 评论 -
08-微服务版单点登陆系统(SSO)实践
传统的登录系统中,每个站点都实现了自己的专用登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。例如:这样的系统,我们又称之为多点登陆系统。应用起来相对繁琐(每次访问资源服务都需要重新登陆认证和授权)。与此同时,系统代码的重复也比较高。由此单点登陆系统诞生。单点登录,英文是 Single Sign On(缩写为 SSO)。即多个站点共用一台认证授权服务器,用户在其中任何一个站点登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交互。例如:基于单点登陆系统中的业务描述,进原创 2022-06-13 08:31:51 · 280 阅读 · 0 评论 -
07-API网关Gateway 应用实践
本一个庞大的单体应用(All in one)业务系统被拆分成许多微服务(Microservice)系统进行独立的维护和部署,服务拆分带来的变化是API的规模成倍增长。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,管理难度非常大。例如,客户端请求不同的微服务可能会增加客户端代码或配置的复杂性。还有就是每个服原创 2022-06-13 08:30:29 · 178 阅读 · 0 评论 -
06-Sentinel限流熔断应用实践
在我们日常生活中,经常会在淘宝、天猫、京东、拼多多等平台上参与商品的秒杀、抢购以及一些优惠活动,也会在节假日使用12306 手机APP抢火车票、高铁票,甚至有时候还要帮助同事、朋友为他们家小孩拉投票、刷票,这些场景都无一例外的会引起服务器流量的暴涨,导致网页无法显示、APP反应慢、功能无法正常运转,甚至会引起整个网站的崩溃。我们如何在这些业务流量变化无常的情况下,保证各种业务安全运营,系统在任何情况下都不会崩溃呢?我们可以在系统负载过高时,采用限流、降级和熔断,三种措施来保护系统,由此一些流量控制中间件诞原创 2022-06-12 23:48:49 · 217 阅读 · 0 评论 -
05-Nacos服务配置中心应用实践
我们知道,除了代码之外,软件还有一些配置信息,比如数据库的用户名和密码,还有一些我们不想写死在代码里的东西,例如像线程池大小、队列长度等运行参数,以及日志级别、算法策略等, 还有一些是软件运行环境的参数,如Java 的内存大小,应用启动的参数,包括操作系统的一些 参数配置…… 所有这些东西,我们都叫做软件配置。以前,我们把软件配置写在一个配置文件中,就像 Windows 下的 ini 文件,或是 Linux 下的 conf 文件。然而,在分布式系统下,这样的方式就变得非常不好管理,并容易出错。假如生产环境下原创 2022-06-12 23:47:22 · 122 阅读 · 0 评论 -
04-Nacos服务注册中心应用实践
在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信?如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google),那他们分别都有什么特点,我们如何进行选型呢?我们主要从社区活跃度,稳定性,功能,性能等方面进行考虑即可.本次微服务的学习,我们选原创 2022-06-12 23:46:00 · 116 阅读 · 0 评论 -
03-微服务架构及解决方案
讲微服务之前,我们先分析以下单体应用。所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,spring,mybatis框架进行整合,接下来再写一堆dao、mapper、service、controller,再加上一些的配置文件,有可能还会引入redis、elasticsearch、mq等其它项目的依赖,开发好之后再将项目打包成一个jar包/war包。然后再将包扔到类似tomcat这样的web服务中,最后部署到公司提供给你的linux服务器上。 接下来,你针对原创 2022-06-12 23:43:51 · 554 阅读 · 0 评论 -
02-若依权限管理子系统简介(自己了解)
若依微服务版RuoYi-Cloud,基于Spring Boot、Spring Cloud & Alibaba、OAuth2的前后端分离的后台管理系统。此系统内置模块如部门管理、角色用户管理、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置,并且支持集群,支持多数据源。此系统还是我们公司内部的一套 Java EE 企业级快速开发平台.若依官网 http://ruoyi.vip/。若依微服务官网地址 https://doc.ruoyi.vip/ruoyi-cloud/MyBatis、原创 2022-06-12 23:42:03 · 2818 阅读 · 0 评论 -
01-计算机软件架构发展历史(自己了解)
为了更好理解互联网软件架构,我们现在介绍一下,一百万到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。在介绍架构之前,为了避免初学者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上。系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性。保证系统的高可原创 2022-06-12 23:39:23 · 131 阅读 · 0 评论