摘要:
重温了一遍周志明老师的《凤凰架构》,一方面是加深记忆一下里面的知识点,另外就是做个记录总结,方便后面忘记了在看。 全书一共有十六个章节,每个章节都相对独立又和后文有些关系。个人总结主要是围绕着微服务、架构演进以及容器编排等技术的发展来讲述的。很详细也很透彻,第一遍读的时候因为很多概念不是很清楚,比较 阅读全文
摘要:
1.引入pom依赖 <!-- SpringCloud ailibaba sentinel-datasource-nacos 持久化需要用到--> <dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-datasour 阅读全文
摘要:
读了周志明老师的《深入理解Java虚拟机:JVM高级特性与最佳实践》第三版,总结一下里面的知识点。一方面是知识储备更多一些,另外是也为接下来的面试准备一下。 全书分为13个章节,共5部分内容。我着重是看了jvm的内管管理、垃圾收集与内存分配策略、虚拟机故障工具和调优实战、类加载机制、Java内存模型 阅读全文
摘要:
公司最近在进行多品牌合一,原来五个品牌的app要合并为一个。品牌立项、审批、方案确定,历史数据迁移、前期的基础工程搭建,兼容以及涉及三方的交互以及改造,需求梳理等也都基本完成,原来计划9月中旬进行上线,但是上线后服务端的压测一直通不过-首页抗不过太高的并发。 app首页里面是一个信息流,里面包含运营 阅读全文
摘要:
项目中要使用分库分表来解决上亿数据的存储以及查询问题,最开始使用的是硬编码的方式,根据用户id的hash值做分表,保证同一个用户落在一张表里面。后面有同事说 使用shardingsphere有现成的解决方案,于是转成了使用shardingsphere。 首先引入shardingjdbc的pom依赖 阅读全文
摘要:
使用druid自定义的拦截器StatFilter,是可以通过日志进行慢sql打印的。但是如果想要把慢sql放入DB,或者通过钉钉告警的方式进行实时打印,则需要实现自定义的拦截器。 第一步:重新自定义拦截器 package com.example.demo.filter; @Component pub 阅读全文
摘要:
项目里面使用的commons公共模块,每次更改后之前都不会升级其版本号,导致当commons改动后,其他服务在不知道的情况下,会出现文件缺失。由于之前commons下面有12个公共子模块,所以之前一直没有升级commons模块。为了方便,于是决定每次更改commons模块后让所有的子项目都跟着升级。 阅读全文
摘要:
生成唯一的traceId时候是通过uuid进行生成的,想到有没有什么更好的方法,网上搜索了下性能更好的雪花算法。参考:https://zhuanlan.zhihu.com/p/433690272 自己在使用时候主要是机器id的生成以及怎么避免重复,这个主要是通过ip地址以及hostName进行取余获 阅读全文
摘要:
项目里面使用的traceId是基于skywalking进行打印的,但是实际使用的过程中发现网关处的traceId为空,而且feign调用其他服务时候的traceId 都不一样。 显示如下: 网关traceId为空: 基于此,想要把项目里面的以及feign调用的traceId统一成一样的,且在网关显示 阅读全文
摘要:
我们在使用Spring Cloud的Ribbon或Feign来实现服务调用的时候,如果我们的机器或网络环境等原因不是很好的话,有时候会发现这样一个问题:我们服务消费方调用服务提供方接口的时候,第一次请求经常会超时,而之后的调用就没有问题了。下面我们就来说说造成这个问题的原因,以及如何解决的方法。 问 阅读全文