微服务信息

[复制链接]
发表于 2024-11-16 19:37:48 | 显示全部楼层 |阅读模式

1)使用Spring/Springboot/Mybatis 实现业务服务,使用SpringMVC编写Rest端点;

配置并使用OpenFeign客户端并通过Ribbon来查找选择并消费服务实例; 搭建zuul网关供测试环境使用,生产接入已有的Nginx网关服务;接入nacos配置中心&注册中心注册服务及动态拉取配置;使用Redis存缓存数据(1、 航班、机场数据、人员等修改量小,使用量大的数据以redis作缓存 ,主要存hash结构,结构更清晰,必设失效时间,避免资源浪费 )

  1. 定时器服务:

一、基于TaskScheduler和CronTask来实现动态增删定时任务,项目加载完毕后(实现commandLiner接口),加载库中定时任务,符合策略后则使用ScheduledTaskRegistrar注册定时任务。

二、采用三数据源:业务需求中,数据迁移,数据同步(不同系统同步通过直接查数据视图方式,而非数据接口)需要多数据源, 通过注册不通数据库的Druiddatasource bean 并绑定属性的方式连接不同数据库,使用mybatis mapperscan或直接在dao层指定所使用数据源

1、问题解决成果:

精间接口返回字段 不需要的字段不返回

解决mysql数据库cpu使用率高达80%:

对大数据量表进行按日期分区

对大字段进行拆表处理

读写进行分离,读走从库,写操作走主库

优化导出实现方式 限制最大导入数目 限制最大导出数目

优化时间段查询方式,更好的走索引

不写联合查询的sql,取出数据在内存中解决

重构代码,减少不必要的查询

对查询频率高的查询sql进行优化。

解决分布式的全局统一ID生成不合理,导致数据库资源抢占,服务停止问题.

生成方式修改为基于数据库id生成的方式。即每次生成id时都从相同表中取出一个唯一的ID值。

alb原理部份

3)使用负载均衡器ALB实现内外服务间调用(不同于k8s,k8s是只有对集群外的请求通过负载均衡器,虚拟IP提供对内部服务访问);

GMT+8, 2025-9-7 23:50 , Processed in 0.099092 second(s), 34 queries Archiver|手机版|小黑屋|Attic ( 京ICP备2020048627号 )

快速回复 返回顶部 返回列表