zoukankan      html  css  js  c++  java
  • 优秀的技术选型(摘选)

    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多技术,能当架构师么?

  • 相关阅读:
    Lua笔记——8.Lua & C
    Shader笔记——5.渲染纹理
    常用工具——2.Mac
    Shader笔记——4.纹理基础
    设计模式学习笔记四:简单工厂模式抽象工厂模式工厂方法模式
    设计模式学习笔记三:策略模式和状态模式
    设计模式学习笔记二:单例模式
    设计模式学习笔记一:程序设计原则
    数据结构和算法学习笔记十六:红黑树
    数据结构和算法学习笔记十五:多路查找树(B树)
  • 原文地址:https://www.cnblogs.com/sky-chen/p/11353489.html
Copyright © 2011-2022 走看看