随笔分类 -  spring boot

摘要:一,生产环境中的复杂参数上传的场景 1,保存排序值 : 例如:某一件商品的多张展示图片排序,提交的排序值要和图片的id相对应 2,上传多张图片,图片要和指定的变量相对应 例如:在添加商品sku时, 需要为指定有图片的属性上传图片, 让用户看上去更直观 这里演示了这两种常见的参数上传, 电商系统中的s 阅读全文
posted @ 2020-09-30 15:33 刘宏缔的架构森林 阅读(1446) 评论(0) 推荐(0) 编辑
摘要:一,为什么要进行多环境配置? 1,没有人会在生产环境中进行开发和测试, 所以通常会有多个环境的划分: 工程师本地的开发环境 进行测试的测试环境 最终上线的生产环境 每个环境对应不同的数据库/缓存等数据源和不同的接口 如果每次部署应用时都需要修改配置文件则会很不方便, 我们通过设置切换profile, 阅读全文
posted @ 2020-09-23 13:00 刘宏缔的架构森林 阅读(895) 评论(0) 推荐(0) 编辑
摘要:一,部署的准备工作 1,测试项目的地址: https://github.com/liuhongdi/profile 是一个空白项目 2,准备java环境:参见: https://blog.imgtouch.com/index.php/2023/05/24/linuxcentos8-an-zhuang 阅读全文
posted @ 2020-09-20 20:21 刘宏缔的架构森林 阅读(609) 评论(0) 推荐(0) 编辑
摘要:一,为什么要用延时消息来取消订单? 1,为什么要取消订单 在电商的下单过程中,需要在生成订单时扣减库存, 但有可能发生这种情况:用户下了单,临时改变主意不再支付, 则订单不能无限期的保留,因为还要把占用的库存数量释放出来, 所以通常会在用户下单后半小时(或其他时长)把未支付的订单取消不再保留。 2, 阅读全文
posted @ 2020-09-17 15:10 刘宏缔的架构森林 阅读(4151) 评论(0) 推荐(0) 编辑
摘要:一,为什么要使用消息队列实现删除购物车商品功能? 消息队列主要用来处理不需要立刻返回结果的业务, 常见的例子: 用户在下单后,要清除原购物车中的商品, 这个处理过程不需要马上实现也不需要返回结果给用户, 所以就适合使用队列来实现 说明:刘宏缔的架构森林是一个专注架构的博客, 网站:https://b 阅读全文
posted @ 2020-09-16 18:56 刘宏缔的架构森林 阅读(938) 评论(0) 推荐(0) 编辑
摘要:一,thymeleaf如何给fragment传递参数? 1,如果是全局的参数,可以用interceptor中传递 非全局参数,可以从controller中传递 2,引用片断时也可以传递参数 说明:刘宏缔的架构森林是一个专注架构的博客, 网站:https://blog.imgtouch.com本文:  阅读全文
posted @ 2020-09-16 14:18 刘宏缔的架构森林 阅读(4149) 评论(2) 推荐(1) 编辑
摘要:一,thymeleaf模板中insert/include/replace三种引用fragment方式的区别 insert: 把整个fragment(包括fragment的节点tag)插入到当前节点内部, replace:用fragment(包括fragment的节点tag)替换掉当前节点 inclu 阅读全文
posted @ 2020-09-16 11:11 刘宏缔的架构森林 阅读(1480) 评论(0) 推荐(0) 编辑
摘要:一,接口站增加api版本号后需要做安全保障? 1,如果有接口需要登录后才能访问的, 需要用spring security增加授权 2,接口站需要增加api版本号的检验,必须是系统中定义的版本号才能访问, 避免乱填值刷接口的情况 说明:刘宏缔的架构森林是一个专注架构的博客, 网站:https://bl 阅读全文
posted @ 2020-09-10 19:49 刘宏缔的架构森林 阅读(595) 评论(0) 推荐(0) 编辑
摘要:一,为什么要给shardingsphere配置多数据源? 1,shardingjdbc默认接管了所有的数据源, 如果我们有多个非分表的库时,则最多只能设置一个为默认数据库, 其他的非分表数据库不能访问 2,shardingjdbc对数据库的访问有一些限制: 官方站的说明: https://shard 阅读全文
posted @ 2020-09-09 16:22 刘宏缔的架构森林 阅读(3011) 评论(0) 推荐(1) 编辑
摘要:一,shardingshpere为什么要整合seata? 分库分表是数据库扩展中最常用的处理方法, shardingshpere作为使用最广泛的分表中间件, 如果不支持分布式事务,则它的数据一致性就会打很大的折扣了 shardingsphere实现了对分布式事务seata的支持, 对于数据有高要求的 阅读全文
posted @ 2020-09-09 15:38 刘宏缔的架构森林 阅读(3586) 评论(0) 推荐(0) 编辑
摘要:一,sso的用途 ? 1,如果有多个应用系统,用户只需要登录一次就可以访问所有相互信任的应用系统。不需要每次输入用户名称和用户密码,也不需要创建并记忆多套用户名称和用户密码。 2,系统管理员只需维护一套统一的用户账号,方便、简单。而不必管理很多套的用户账号。 3, 如果需要开发新的应用系统,可以直接 阅读全文
posted @ 2020-09-08 19:27 刘宏缔的架构森林 阅读(4785) 评论(2) 推荐(0) 编辑
摘要:一,为什么oauth2要整合jwt? 1,OAuth2的token技术有一个最大的问题是不携带用户信息,所以资源服务器不能进行本地验证, 以致每次对于资源的访问,资源服务器都需要向认证服务器的token存储发起请求, 一是验证token的有效性,二是获取token对应的用户信息。 有大量的请求时会导 阅读全文
posted @ 2020-09-08 16:24 刘宏缔的架构森林 阅读(3753) 评论(0) 推荐(0) 编辑
摘要:一,oauth2的用途? 1,什么是oauth2? OAuth2 是一个开放标准, 它允许用户让第三方应用访问该用户在某一网站上存储的私密资源(如头像、照片、视频等), 在这个过程中无须将用户名和密码提供给第三方应用。 实现这一功能是通过提供一个令牌(token),而不是用户名和密码来访问他们存放在 阅读全文
posted @ 2020-09-07 19:34 刘宏缔的架构森林 阅读(3067) 评论(0) 推荐(1) 编辑
摘要:一,为什么使用jwt? 1,什么是jwt? Json Web Token, 它是JSON风格的轻量级的授权和身份认证规范, 可以实现无状态、分布式的Web应用授权 2,jwt的官网: https://jwt.io/ java实现的jwt的开源项目: https://github.com/jwtk/j 阅读全文
posted @ 2020-09-07 12:48 刘宏缔的架构森林 阅读(3049) 评论(0) 推荐(0) 编辑
摘要:一,动态权限管理的优点和缺点 1,优点: 因为控制权限的数据保存在了mysql或其他存储系统中, 可以动态修改权限控制,无需改动代码和重启应用, 权限变更时灵活方便 2,缺点: 权限的设置需要保存在外部存储系统, 每次request时都需要查库处理, 高并发时影响效率 说明:刘宏缔的架构森林是一个专 阅读全文
posted @ 2020-09-07 10:35 刘宏缔的架构森林 阅读(1498) 评论(0) 推荐(0) 编辑
摘要:一,图形验证码的用途? 1,什么是图形验证码? 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,它是用来区分用户是人类还是计算 阅读全文
posted @ 2020-08-28 16:51 刘宏缔的架构森林 阅读(1198) 评论(0) 推荐(0) 编辑
摘要:一,用数据库实现权限管理要注意哪些环节? 1,需要生成spring security中user类的派生类,用来保存用户id和昵称等信息, 避免页面上显示用户昵称时需要查数据库 2,如果需要在页面上显示用户的登录信息, 需要自定义一个interceptor, 把用户的昵称等信息添加到 modeland 阅读全文
posted @ 2020-08-28 13:07 刘宏缔的架构森林 阅读(2272) 评论(0) 推荐(0) 编辑
摘要:一,spring boot admin的安全环节: 1,修改context-path,默认时首页就是admin, 我们修改这个地址可以更安全 2,配置ip地址白名单,有ip限制才安全, 我们使用了spring security, 可以在防火墙中也配置上ip限制 3,登录用户有相应的role授权才能访 阅读全文
posted @ 2020-08-27 17:59 刘宏缔的架构森林 阅读(2720) 评论(0) 推荐(0) 编辑
摘要:一,多模块项目的优点: 1,为什么要使用多模块项目? 相比传统的单体工程,使用Maven的多模块配置, 有如下优点: 帮助项目划分模块,鼓励重用, 防止POM变得过于庞大, 方便某个模块的构建,而不用每次都构建整个项目, 对某个模块的特殊控制更为方便 2,创建项目的流程: 先创建一个空项目multi 阅读全文
posted @ 2020-08-27 17:42 刘宏缔的架构森林 阅读(4036) 评论(0) 推荐(0) 编辑
摘要:一,druid的安全保障有哪些环节要注意? 1,druid ui的访问要有ip地址限制 2,用户必须要有相应的权限才能访问druid 3,关闭重置功能 说明:stat-view-servlet.url-pattern的配置应用时会报错, 如果bug修改了,使用这个功能会更安全 说明:刘宏缔的架构森林 阅读全文
posted @ 2020-08-26 12:52 刘宏缔的架构森林 阅读(2265) 评论(0) 推荐(0) 编辑