随笔分类 -  JAVA后端

摘要:参与到一个项目中后,这个项目有一个非常棘手的问题,就是程序需要在初次启动时加载大量数据,高达80G,这会导致成本高筑,不得不使用裸金属服务器进行部署 上个版本现状 tps:1790 rt:12.94ms 80G 目标是 tps 不下降的情况下,尽量使内存占用下降 改进1 首次观察加载数据,发现这个数 阅读全文
posted @ 2024-07-31 18:31 明月照江江 阅读(20) 评论(0) 推荐(0) 编辑
摘要:滑动窗口技术是Sentinel比较关键的核心技术,主要用于数据统计 通过分析StatisticSlot来慢慢引出这个概念 @Override public void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode 阅读全文
posted @ 2022-08-14 16:31 明月照江江 阅读(146) 评论(0) 推荐(0) 编辑
摘要:直接从Sentinel 源码demo ExceptionRatioCircuitBreakerDemo看起 直接看他的main函数 public static void main(String[] args) throws Exception { initDegradeRule(); ...... 阅读全文
posted @ 2022-08-14 14:32 明月照江江 阅读(191) 评论(0) 推荐(0) 编辑
摘要:1. git clone senetinel 源码到本地,切换到release1.8分支 2. 找到FlowQpsDemo.java, 根据sentinel自带的案例来学习sentinel的原理 3. 先看main方法 public static void main(String[] args) t 阅读全文
posted @ 2022-08-14 10:59 明月照江江 阅读(555) 评论(0) 推荐(0) 编辑
摘要:使用Netflix的包 curator-recipes pom文件引入相关依赖 <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.6.3</versio 阅读全文
posted @ 2022-08-09 15:48 明月照江江 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1. Zookeeper ZooKeeper 内部存储的数据结构 / +-- node1 +-- node2 | +-- sub_node21 -> "I am sub_node21" | +-- sub_node22 -> "I am sub_node22" +-- node3 数据模型图 gra 阅读全文
posted @ 2022-04-16 14:04 明月照江江 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1. 尽量用XML 集成,这也的Dubbo官方推荐的集成方式 自己在使用注解集成过程中发现有坑:Springmvc包扫描和dubbo包扫描冲突,导致消费端一直拿不到代理对象(null),非常蛋疼,所以猜测可能还有其他坑 搭建环境主要是几个pom文件非常重要 项目结构: dubbo-demo |- c 阅读全文
posted @ 2022-04-16 14:04 明月照江江 阅读(43) 评论(0) 推荐(0) 编辑
摘要:token 总结 1. token 和SessionID 的区别 Token机制相对于Cookie机制又有什么好处呢? 支持跨域访问: Cookie是不允许垮域访问的,这一点对Token机制是不存在的,前提是传输的用户认证信息通过HTTP头传输. 无状态(也称:服务端可扩展行):Token机制在服务 阅读全文
posted @ 2022-04-16 14:03 明月照江江 阅读(144) 评论(0) 推荐(0) 编辑
摘要:http://172.16.5.130:8080/swagger-ui.html 上面的ip:port 根据实际情况调换 如果设置了server.servlet.context-path 比如: server.servlet.context-path=/chat (注意如果配置这个参数,这里的“/” 阅读全文
posted @ 2022-04-16 14:02 明月照江江 阅读(1451) 评论(0) 推荐(0) 编辑
摘要:Spring 事务总结 rollbackFor 设为 Exception.class场景下 如果在函数内部catch住异常消费掉,没有再抛出的话,不会回滚 如果catch住 然后原封不动抛出,会回滚 如果catch住,然后改造成其他异常抛出,会回滚 如果是内层函数抛出,外层带事务的函数未抛出,也不会 阅读全文
posted @ 2022-04-16 14:01 明月照江江 阅读(30) 评论(0) 推荐(0) 编辑
摘要:Spring 集成测试 需要再类的头部加入 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration({"classpath*:META-INF/spring/*.xml"}) @ContextConfiguration也可以改为一下 阅读全文
posted @ 2022-04-16 14:01 明月照江江 阅读(129) 评论(0) 推荐(0) 编辑
摘要:Springboot 拦截器总结 拦截器大体分为两类 : handlerInterceptor 和 methodInterceptor 而methodInterceptor 又有XML 配置方法 和AspectJ配置方法 1. handlerInterceptor用法 handlerIntercep 阅读全文
posted @ 2022-04-16 14:00 明月照江江 阅读(125) 评论(0) 推荐(0) 编辑
摘要:SpringBoot多重属性文件配置方案笔记 需要重写==PropertyPlaceholderConfigurer== 同时要忽略**DataSourceAutoConfiguration** @SpringBootApplication(exclude = {DataSourceAutoConf 阅读全文
posted @ 2022-04-16 13:59 明月照江江 阅读(107) 评论(0) 推荐(0) 编辑
摘要:Springboot 多属性文件配置 配置文件后缀有两种: .properties和==.yml== 要完成多属性配置需要自定义PropertySourcesPlaceholderConfigurer 这个Bean properties配置方法 /** * 这里必须是static函数 * 如果不是 阅读全文
posted @ 2022-04-16 13:58 明月照江江 阅读(202) 评论(0) 推荐(0) 编辑
摘要:Springboot 事务 1. 打印SQL 日志的两种配置方式 [1]通过配置包的log等级来打印SQL日志,但这种不会打印出事务日志 logging.level.com.grady.mybatisdemo.mapper=DEBUG [2] 配置mybatis的logImpl属性,好处是会输出事务 阅读全文
posted @ 2022-04-16 13:57 明月照江江 阅读(371) 评论(0) 推荐(0) 编辑
摘要:SpringBoot Shiro JWT 1.建表 DDL.sql CREATE TABLE `t_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `user_name` varchar(30) NOT NULL DEFAULT '', `passw 阅读全文
posted @ 2022-04-16 13:56 明月照江江 阅读(145) 评论(0) 推荐(0) 编辑
摘要:Springboot上使用pageHelper总结 1. 在pom.xml 中引入依赖 <!--pagehelper--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot 阅读全文
posted @ 2022-04-16 13:55 明月照江江 阅读(481) 评论(0) 推荐(0) 编辑
摘要:mybatis 总结 属性配置 1. mybatis.configuration.mapUnderscoreToCamelCase=true mapUnderscoreToCamelCase用于映射表中的字段与model中成员的映射关系 映射关系为:表中字段去掉=="_"==,并转为驼峰 比如: / 阅读全文
posted @ 2022-04-16 13:54 明月照江江 阅读(35) 评论(0) 推荐(0) 编辑
摘要:开发过程中总是需要多环境配置,而Spring自带的方式不是那么优秀,可以利用maven来帮助做到 可以再pom.xml中配置profiles来做到 打包命令: mvn clean package -Psit 这里的-P对应的就是profiles对应的属性 然后再 build 标签的resource 阅读全文
posted @ 2022-04-16 13:30 明月照江江 阅读(212) 评论(0) 推荐(0) 编辑
摘要:Log4j2 PS: Log4j 已不再维护,而最新的是Log4j2, Log4j2 是全部重写了Log4j,并拥有更加优秀的性能 1. 引入依赖,和去掉logging的依赖 <dependency> <groupId>org.springframework.boot</groupId> <arti 阅读全文
posted @ 2022-04-16 13:29 明月照江江 阅读(64) 评论(0) 推荐(0) 编辑