- 博客(22)
- 收藏
- 关注
原创 JavaCloud网关
大家都知道在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。所谓的API网关,就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服。
2023-08-21 23:08:27
326
原创 Nacos配置中心
配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。
2023-08-18 16:13:40
1110
原创 微服务注册中心(Nacos)
通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址一旦服务提供者地址变化,就需要手工修改代码一旦是多个服务提供者,无法实现负载均衡功能一旦服务变得越来越多,人工维护调用关系困难那么应该怎么解决呢, 这时候就需要通过注册中心动态的实现服务治理。什么是服务治理服务治理是微服务架构中最核心最基本的模块。用于实现各个微服务的自动化注册与发现。**服务注册:**在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。
2023-08-15 18:25:11
621
原创 SpringCloud入门
互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这。比如说一个电商系统,里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块,所谓的垂直应用架构,就是将原来的一个应用拆成互不相干的几个应用,以提升效率。在分布式架构下,当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加。随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。抽取出来,做成统一的业务层作为独立的服务,然后由前端控制层调用不同的业务层服务呢?
2023-08-15 09:16:19
111
原创 SpringBoot Starter原理
官方#第三方SpringBoot中的starter是一种非常重要的机制(自动化配置),能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息的困扰。SpringBoot会自动通过classpath路径下的类发现需要的Bean,并注册进IOC容器。
2023-08-14 19:46:24
1278
原创 SpingBoot整合druid及redis
redis密码配置在Redis-x64-3.2.100文件夹中的redis.windows.conf文件中配置。可以看到value为test时,过期时间将为60s,当value为其他时,将会使用默认过期时间600s。5.使用RedisTemplate<String,Object>将数据加入redis数据库。我们将注解的Value换成test再试一次。04为自己设置的context-path。可以看到过期时间为600s。输入账号密码.访问成功。
2023-08-12 16:02:13
180
1
原创 SpringBoot入门
注1:敏捷式开发的产物注2:spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架.开箱即用,零配置注3:基于Spring框架的一站式解决方案。
2023-08-07 22:54:12
56
1
原创 SpringBoot自定义注解
使用spring initializr创建maven程序, 在intellij idea中打开时报错解决方法: 在pom.xml中把spring-boot-starter-parent:pom的版本降到2.X的版本就可以。如下图所示<parent></parent>创建一个自定义注解@Retention(RetentionPolicy.RUNTIME)//注解会在class字节码文件中存在,在运行时可以通过反射获取到。
2023-08-06 18:54:35
176
原创 Redis的简单使用
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)Redis字符串(String)开放防火墙端口使外部可连接。Redis列表(List)Redis列表(List)Redis集合(Set)Redis集合(Set)进入redis服务器。
2023-08-03 20:49:35
167
原创 Jwt的原理及应用
点击登陆后将用户信息传到后台,后台根据用户信息生成一个jwt字符串将jwt字符串放到响应头中if(userVo1!=null){//私有要求claim// 生成JWT,并设置到response响应头中return new JsonResponseBody<>("用户登陆成功!}else{return new JsonResponseBody<>("用户名或密码错误!响应头:此时响应头又被前端的http.js的响应拦截器拦截,将jwt字符串保存到vuex中// 响应拦截器。
2023-08-01 23:55:57
119
1
原创 Vuex入门
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。可以想象为一个“前端数据库”(数据仓库),让其在各个页面上实现数据的共享包括状态,并且可操作 Vuex分成五个部分:1.State:单一状态树2.Getters:状态获取3.Mutations:触发同步事件4.Actions:提交mutation,可以包含异步操作5.Module:将vuex进行分模块四个JS文件作用。
2023-07-29 17:28:33
96
1
原创 ElementUI之动态树+数据表格+分页
菜单代码结构在action.js里设置系统菜单数据和书籍数据地址在created()生命周期中获取表格的数据获取的数据结构:对应菜单的跳转在主界面上加上下行代码.将子菜单的index属性的值设置为url跳转地址,即可实现子菜单点击跳转创建菜单对应地址的Vue文件,在AppMain.Vue(主界面)设置锚点在index.js中设置跳转地址参数即可实现跳转。
2023-07-26 22:33:46
543
1
原创 SPA项目开发之首页导航+左侧菜单
Mock.js是一个模拟数据的生成器,用于帮助前端调试开发,进行前后端的原型分离,提高自动化效率.可以帮助前后端分离开发同时进行.Mock.js两个重要特性:数据类型丰富,可以拦截Ajax请求。
2023-07-24 21:21:34
121
原创 Vue路由+NodeJs环境搭建
第一步:引入js文件第二步:创建两个组件展示相关的功能第三步:形成组件与请求路径的对应关系第四步:将路由关系和路由对象绑定第五步:将路由关系和vue实例绑定第六步:发起请求第七步:显示对应的内容运行结果。
2023-07-20 19:56:04
144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人