-
优秀的技术选型(摘选)
1. 优秀的技术选型(摘选)
1.1. 缓存
- redis因为是单线程,不适合高耗时操作,对数据量比较大的缓存还是memcached比较合适
1.2. 分库分表
- sharding-jdbc,驱动层,不需要额外机器
- mycat,代理层,如果有运维团队,又舍得机器可以用这个
1.3. 数据同步
- mysql在分库分表时,要做的一个重要操作,数据迁移
- 对mysql来说,canal是国内用的最多的方案,其次databus
- canal、maxwell等支持将要同步的数据写入mq,后续处理方便
- ETL(抽取,清洗,转换),使用source,task,sink路线,常用工具datax,logstash,gobblin,sqoop等
1.4. 微服务
- 注册中心通常用 consul、nacos、eureka、zookeeper
- 熔断组件 sentinel、resilience4j、hystrix
- 调用链 jaeger、skywalking、sleuth+zipkin、cat
- 配置中心 apollo、disconf、spring-cloud-config
- 网关 nginx(openresty、kong)、zuul2、traefik
1.5. 分布式工具
- 协调工具 consul、etcd、zookeeper
- 事务 seata(前fescar)
1.6. 监控系统
- zabbix 在主机数量不多时是非常好的选择
- prometheus 最流行的配合grafana进行前端展示
- influxdata的influxdb和telegraf
- elkb使用es存储的工具链(elasticsearch、logstash、kibana、beats)同样比较流行
1.7. 调度
- quartz比较老的调度方案,分布式调度采用数据库锁的方式,界面需要自行开发
- elastic-job-cloud应用比较广泛,但系统运维复杂,学习成本高
- xxl-job国人开发,可以后台配置,学习成本较低
1.8. 入口工具
- centos + haproxy + lvs + keepalived + ansible
1.9. OLT(A)P
- 当数据量到达一定程度,需要建立数据仓库
- 搜索方面solr和elasticsearch,后者实时性更好
- 列式存储方面,基于Hadoop的hbase,使用最广泛
- tidb国产新贵,兼容mysql协议
- 时序数据库方面,opentsdb用在超大型监控系统多些,druid和kudu,在处理多维度数据实时聚合方面更胜一筹
1.10. CI/CD
- 支持持续集成和虚拟化 jenkins是打包发布首选,idea的公司还写了一个TeamCity也可参考
- gitlab搭建的git服务器中,gitlab CI也可以用
1.11. 问题排查
- 发生内存溢出,可以用jmap导出堆栈后用mat分析
- 线上实时分析可以用 arthas和perf
选自:学完这100多技术,能当架构师么?
-
相关阅读:
自编码器AutoEncoder,降噪自编码器DAE,稀疏自编码器SAE,变分自编码器VAE 简介
经验模式分解EMD与集合经验模态分解EEMD
Adversarial Faces
网络权重初始化方法 常数初始化、Lecun、Xavier与He Kaiming
信息熵、交叉熵、KL散度、JS散度、Wasserstein距离
神经网络前向传播和反向传播公式 详细推导
Softmax 原理及 Sigmoid和Softmax用于分类的区别
However, but, yet, while, whereas 表转折的区别; while, whereas区别
阿里云mysql数据库恢复到本地
js 14位字符串 转日期
-
原文地址:https://www.cnblogs.com/sky-chen/p/11353489.html
Copyright © 2020-2023
润新知