- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 MySQL - 分库分表
关联数据应尽量少用 join,join 不仅会增加 CPU 负担并且会将两张表耦合在一起,我们可以在业务 Service 层上来实现数据关联,分别获取主表和扩展表数据然后用关联字段关联起来获取全部数据;系统绝对并发量并没有上来,表的记录并不多,但是字段多,并且热点数据和非热点数据在一起,单行数据所需要的存储空间较大,以至于数据库缓存的数据行减少,查询时会去读取磁盘数据产生大量的随机读 io,产品 io 瓶颈;每个表的数据也不一样,一般来说,每个表的字段至少有一列交集,一般是主键,用于关联这些表之间的数据;
2024-05-17 15:44:32 673
原创 RocketMQ基础
一个纯Java、的消息中间件,是阿里巴巴在2012年开源的分布式消息中间件,具有高性能、低延时和高可靠等特性,主要用来解耦、削峰、消息分发等。应用解耦 系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会降低了。
2024-03-13 10:37:30 353 1
原创 AlibabaCloud笔记 第五章 远程调用
客户端, 它使得调⽤远程服务就像调⽤本地服务⼀样简单,只需要创建⼀个接口并添加⼀个注解即可;默认就实现了负载均衡的效果;Nacos很好的兼容了。默认扫描当前包及其⼦包。提供的⼀个声明式的伪。重启订单服务,并验证。
2023-11-06 17:24:46 97
原创 Spring Security
springSecurity是基于Spring生态圈,用于提供安全访问控制的解决方案框架。认证(Authentication)和授权(Authorization);springBoot对SpringSecurity进行了整合支持,并提供了通用的自动化配置,从而实现了SpringSecurity中包含的多数功能;
2023-11-02 12:11:09 70
原创 AlibabaCloud笔记 第四章 负载均衡
2.1 在idea中再启动⼀个 shop-product 微服务,设置其端⼝为80822.2 在nacos查看微服务的启动情况3)修改 OrderServiceImpl 的代码,实现负载均衡@Service@Slf4j@Autowired@Autowired@Autowired@Overridelog.info("接收到{}号商品的下单请求,接下来调⽤商品微服务查询此商品信息",productId);//从nacos中获取服务地址//⾃定义规则实现随机挑选服务。
2023-10-30 11:40:16 98 1
原创 JVM基础
此外,G1收集器不同于之前的收集器的一个重要特点是:G1回收的范围是整个Java堆(包括新生代,老年代),而前六种收集器回收的范围仅限于新生代或老年代;如果Java堆中内存是绝对规整的,所有被使用过的内存都被放到一边,空闲的内存放到另外一边,中间放着一个指针作为分界点的指示器。CMS [Concurrent Mark Sweep] 收集器(标记-清除算法):老年代并行收集器,以获取最短回收停顿时间为目标的收集器,具有高并发、低停顿的特点,追求最短GC回收停顿时间。
2023-10-17 11:03:38 68
原创 Docker-02-基础
DK上传Jar包运行jar包构建Java镜像步骤:准备Linux运行环境(java项目并不需要完整的操作系统,仅仅是基础运行环境即可)安装并配置JDK拷贝jar包配置启动脚本3.2 镜像结构入口(Entrypoint):镜像运行入口,一般是程序启动的脚本和参数;层(Layer):在BaseImage基础上添加安装包、依赖、配置等,每次操作都形成新的一层;基础镜像(BaseImage):应用依赖的系统函数库、环境、配置、文件等;
2023-09-25 20:51:01 183 1
原创 Docker-01-部署
以CentOS7系统为例Docker 要求 CentOS 系统的内核版本要高于 3.10# uname -r(如果安装过旧版本Docker)docker-ce为社区免费版本选择要安装的版本,进行安装Docker服务器在国外,下载其镜像速度比较慢,一般都会配置一个阿里的镜像服务器进入阿里云控制台,搜索“容器镜像服务”找到“镜像加速器”选择CentOS系统,复制粘贴执行代码。
2023-09-25 20:43:28 91 1
原创 Java锁
synchronized是单机锁,基于JVM实现,状态维护在对象头,只能保证单服务器内JVM的不同线程同步,不能用做分布式环境中的线程同步;synchronized也称之为“同步锁”,它的作用是保证在同一时刻,被修饰的代码块或方法只会有一个线程执行,以达到保证并发安全的效果;修饰一个代码块:被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;修饰一个方法:被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;
2023-09-04 14:05:56 240 1
原创 AlibabaCloud笔记 第二章 微服务环境搭建
使⽤简单易懂的模块来讲解SpringCloud⾥⾯相关的组件。查询商品列表创建订单持久层数据库: MySQL5.7其他技术栈⽗⼯程--- shop-product-api 商品微服务api【存放商品实体】--- shop-product-server 商品微服务 【端⼝:808x--- shop-order-api 订单微服务api【存放订单实体】--- shop-order-server 订单微服务 【端⼝:809x在微服务架构中,最常⻅的场景就是微服务之间的相互调⽤。
2023-08-23 11:14:54 117 1
原创 AlibabaCloud笔记 第⼀章 微服务概念
当垂直应⽤越来越多, 重复的业务代码就会越来越多. 这时候, 我们就思考可不可以将重复的代码抽取出来, 做成统⼀的业务层作为独⽴的服务, 然后由前端控制层调⽤不同的业务层服务呢?在分布式架构下,当服务越来越多,容量的评估,⼩服务资源的浪费等问题逐渐显现,此时需增加⼀个调度中⼼对集群进⾏实时管理。微服务架构, 简单的说就是将单体应⽤进⼀步拆分,拆分成更⼩的服务,每个服务都是⼀个可以独⽴运⾏的项⽬。的⻆⾊,⽤户的所有请求都先交给它,然后它根据当前所有节点的负载情况,决定将这个请求交给哪个节点处理。
2023-08-14 12:51:06 80
转载 MySQL - 高性能优化
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符 临时库表必须以 tmp_为前缀并以日期为后缀,备份表必须以 bak_为前缀并以日期 (时间戳) 为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)数据库基
2022-04-07 17:12:20 348
原创 GIT笔记
1. 版本控制1.1、什么是版本控制版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 实现跨区域多人协同开发 追踪和记载一个或者多个文件的历史记录 组织和保护你的源代码和文档 统计工作量 并行开发、提高开发效率 跟踪记录整个软件的开发过程 减轻开发人员的负担,节省时间,同时降低人为错误 简单说就是用于管理多人
2022-02-18 18:43:04 437
原创 用VMware12安装Centos7全过程记录
本篇文章主要介绍了VMware12安装Centos7的图文详细,具有一定的参考价值。使用VMware12安装Centos7-Linux文档类资源-CSDN下载
2022-02-18 17:43:12 1221 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人