![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringCloud微服务架构基础
文章平均质量分 76
学习笔记,如有侵权,请告知
AimerDaniil
这个作者很懒,什么都没留下…
展开
-
文件上传—微服务版的单点登陆系统设计及实现
一、简介1、背景分析传统的登录系统中,每个站点都实现了自己的专用登录模块。各站点的登录状态相互不认可,各站点需要逐一手工登录。例如:这样的系统,我们又称之为多点登陆系统。应用起来相对繁琐(每次访问资源服务都需要重新登陆认证和授权)。与此同时,系统代码的重复也比较高。由此单点登陆系统诞生。2、单点登陆系统单点登录,英文是 Single Sign On(缩写为 SSO)。即多个站点共用一台认证授权服务器,用户在其中任何一个站点登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交原创 2021-09-01 13:24:11 · 776 阅读 · 0 评论 -
JVM 参数说明
输出JVM类加载信息(假如想看类启动时,相关类的加载顺序,可以配置JVM参数: -XX:+TraceClassLoading)调整JVM堆内存大小,并输出JVM 垃圾回收基本信息(假如设置JVM堆内存大小可以通过 -Xmx设置最大堆内存,-Xms设置最小堆内存,-XX:+PrintGC输出程序运行时的GC信息)...原创 2021-09-01 09:32:49 · 69 阅读 · 0 评论 -
SpringBoot----AOP应用实践
一、Spring框架生态设计二、AOP 简介1、背景分析对于一个业务而言,我们如何在不修改源代码的基础上对对象功能进行拓展,例如现有一个公告(通知)业务接口及实现:pubic interface NoticeService{ int deleteById(Integer…ids);}public class NoticeServiceImpl implements NoticeService{ public int deleteById(Integer…ids){原创 2021-08-31 17:26:41 · 231 阅读 · 1 评论 -
SpringBoot-----MVC拦截器
拦截器技术应用1、概述Spring Web中的拦截器(Interceptor)基于回调机制,可以在目标方法执行之前,先进行业务检测,满足条件则放行,不满足条件则进行拦截,拦截器原理分析如下图所示:2、拦截器定义基于Spring MVC模块提供的HandlerInterceptor接口规范定义拦截器,对特定请求进行拦截,例如检测请求访问时间,关键代码如下,package com.jt.web.interceptor;import org.springframework.web.servlet.原创 2021-08-31 13:59:08 · 228 阅读 · 0 评论 -
自定义执行链设计
一、流程图二、代码package com.jt.interceptor;import java.util.ArrayList;import java.util.List;/**拦截器*/interface Interceptor{ boolean doPre(); void doPost();}/**处理器*/interface Handler{ void doHandle();}/** * 执行链设计(所有项目中的执行(Execution)链(Ch原创 2021-08-31 13:26:05 · 123 阅读 · 0 评论 -
构建SpringCloud 项目—文件上传
基于Spring Cloud Alibaba 解决方案实现文件上传一、业务描述基于Spring Cloud Alibaba解决方案实现文件上传,例如:二、工程创建及初始化1、工程结构参考如下工程结构,进行项目创建,例如:2、创建父工程:02-sca-files创建项目父工程用来管理项目依赖3、父工程初始化打开父工程的pom.xml文件,添加如下依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="htt原创 2021-08-26 16:04:22 · 622 阅读 · 0 评论 -
构建SpringCloud 项目初始环境(五)—网关Gateway 应用实践
一、网关简介1、背景分析我们知道,一个大型系统在设计时,经常会被拆分为很多个微服务。那么作为客户端要如何去调用 这么多的微服务呢?客户端可以直接向微服务发送请求,每个微服务都有一个公开的URL,该URL可以直接映射到具体的微服务,如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。这样的架构,会存在着诸多的问题,例如,客户端请求不同的微服务可能会增加客户端代码或配置的复杂性。还有就是每个服务,在调用时都需要独立认证。并且存在跨域请求,也在一定程度上提高了代码的复杂度。基于微服务架构原创 2021-08-23 15:27:25 · 672 阅读 · 0 评论 -
构建SpringCloud 项目初始环境(四)—Sentinel限流熔断应用实践
一、Sentinel简介1、背景分析在我们日常生活中,经常会在淘宝、天猫、京东、拼多多等平台上参与商品的秒杀、抢购以及一些优惠活动,也会在节假日使用12306 手机APP抢火车票、高铁票,甚至有时候还要帮助同事、朋友为他们家小孩拉投票、刷票,这些场景都无一例外的会引起服务器流量的暴涨,导致网页无法显示、APP反应慢、功能无法正常运转,甚至会引起整个网站的崩溃。我们如何在这些业务流量变化无常的情况下,保证各种业务安全运营,系统在任何情况下都不会崩溃呢?我们可以在系统负载过高时,采用限流、降级和熔断,三种原创 2021-08-20 10:53:14 · 317 阅读 · 0 评论 -
构建SpringCloud 项目初始环境(三)—服务配置中心Nacos
NACOS配置中心简介背景分析我们知道,除了代码之外,软件还有一些配置信息,比如数据库的用户名和密码,还有一些我们不想写死在代码里的东西,例如像线程池大小、队列长度等运行参数,以及日志级别、算法策略等, 还有一些是软件运行环境的参数,如Java 的内存大小,应用启动的参数,包括操作系统的一些 参数配置…… 所有这些东西,我们都叫做软件配置。以前,我们把软件配置写在一个配置文件中,就像 Windows 下的 ini 文件,或是 Linux 下的 conf 文件。然而,在分布式系统下,这样的方式就变得非常不原创 2021-08-19 14:31:03 · 385 阅读 · 0 评论 -
构建SpringCloud 项目初始环境(二)—服务注册中心Nacos
服务注册中心Nacos一、Nacos注册中心简介1、背景分析在微服务中,首先需要面对的问题就是如何查找服务(软件即服务),其次,就是如何在不同的服务之间进行通信?如何更好更方便的管理应用中的每一个服务,如何建立各个服务之间联系的纽带,由此注册中心诞生(例如淘宝网卖家提供服务,买家调用服务)。市面上常用注册中心有Zookeeper(雅虎Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google),那他们分别都有什么特点,我们如何进行选型呢?我们主要从社区活跃原创 2021-08-18 13:49:13 · 755 阅读 · 0 评论 -
构建SpringCloud 项目初始环境(一)
构建SpringCloud 项目初始环境一、项目结构二、创建空项目打开Idea,创建一个空项目(Empty Project),项目名为GitCGB2105IVProjects,例如:三、项目初始化配置第一步:配置maven环境(只要是新的工作区,都要重新配置),注意本地库选择新的位置不要与其它项目共用本地库。第二步:配置JDK编译环境第三步:配置项目编码方式四、创建聚合父工程我们后续在创建微服务工程进行学习时,相关服务的依赖及版本的管理可以放在此工程下.第一步:创建父工程模块原创 2021-08-18 12:59:07 · 161 阅读 · 0 评论 -
微服务架构及解决方案
微服务简介一、背景分析讲微服务之前,我们先分析以下单体应用。所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,spring,mybatis框架进行整合,接下来再写一堆dao、mapper、service、controller,再加上一些的配置文件,有可能还会引入redis、elasticsearch、mq等其它项目的依赖,开发好之后再将项目打包成一个jar包/war包。然后再将包扔到类似tomcat这样的web服务中,最后部署到公司提供给你的linux原创 2021-08-18 12:50:40 · 347 阅读 · 0 评论