xsr f04d0491a8 模块数据按时间段清洗 | 3 lat temu | |
---|---|---|
shellbin | 3 lat temu | |
src | 3 lat temu | |
.gitignore | 3 lat temu | |
README.md | 3 lat temu | |
pom.xml | 3 lat temu | |
settings.xml | 3 lat temu |
#示例程序使用说明:
业务垂直切分方案
restempate 定向负载 一个服务一个库一个盒子,业务逻辑负载曾映射路由表,gateway负载轮询也逻辑业务服务
操作简单,维护复杂,1000个盒子就得1000个服务,新增操作需要新增服务以及数据仓储,对服务负载不均衡,可用性低,一个服务挂了该盒子数据将无法连接,数量大了命名会逐渐丢失规范,问题恢复周期逐渐增大
水平切分方案
操作复杂需实现权重分片,自动化建模等,优势明显,盒子与服务无耦合,可以弹性增减服务数量以达到负载均衡,根据盒子功能动态创建合理数据结构
nacos 轮询服务,gateway统一访问 sharding 以盒子key分片 权重分库, 库内分scheme[key].table[*]
以上都需要一个中心库,来存取盒子信息数量映射关系表,统计表等上探应用功能;统计任务\分布式锁缓存实现,前者需要人工权重分库,后者需实现自动动态扩容权重分库
服务能够负载均衡吗?
维护便捷吗?
存储服务不够了怎么办?动态扩容维护复杂吗?
支持限流保护,xa事务吗?
OLAP上探下钻实现复杂吗(盒子逻辑分组,分批查询,分析等)?可控吗?分布式锁竞争大吗?全局任务实现成熟可靠吗?
方案2搭建
edge_base (embedded /**or standalone**/) : sharding key index\database url config center\data authorize
edge_portal (standalone elastic):metric all task\globle config\add or delete edge modul\new and init edge modul basic work space
edge_actuator (standalone elastic):query\delete\update\insert data anyone of all edge moduls
|——java //核心程序
|————com.gct.edge.portal
|——————config //配置类
|——————controller //视图or接口层
|——————entity //实体对象
|——————mapper //dao层数据库操作接口
|——————service //具体服务程序接口
|—————— SubSampleApplication //启动类
|——resources //静态资源or配置文件
scp target/edge_module_actuator-0.0.1-SNAPSHOT.jar root@geo-cruiser.com:/home/geo/geo-test/edge-module
scp shellbin/edge-actuator.sh root@geo-cruiser.com:/home/geo/geo-test/edge-module