美文网首页架构
后端架构师技术图谱(四)-微服务

后端架构师技术图谱(四)-微服务

作者: 咪雅先森 | 来源:发表于2019-06-26 10:38 被阅读39次

    微服务思想

    康威定律

    • 《微服务架构的理论基础 - 康威定律》

      • 定律一:组织沟通方式会通过系统设计表达出来,就是说架构的布局和组织结构会有相似。
      • 定律二:时间再多一件事情也不可能做的完美,但总有时间做完一件事情。一口气吃不成胖子,先搞定能搞定的。
      • 定律三:线型系统和线型组织架构间有潜在的异质同态特性。种瓜得瓜,做独立自治的子系统减少沟通成本。
      • 定律四:大的系统组织总是比小系统更倾向于分解。合久必分,分而治之。
    • 《微服务架构核⼼20讲》

    运维 & 统计 & 技术支持

    常规监控

    命令行监控工具

    APM

    APM — Application Performance Management

    统计分析

    持续集成(CI/CD)

    Jenkins

    环境分离

    开发、测试、生成环境分离。

    自动化运维

    Ansible

    puppet

    chef

    测试

    TDD 理论

    • 《深度解读 - TDD(测试驱动开发)》
      • 基于测试用例编码功能代码,XP(Extreme Programming)的核心实践.
      • 好处:一次关注一个点,降低思维负担;迎接需求变化或改善代码的设计;提前澄清需求;快速反馈;

    单元测试

    压力测试

    全链路压测

    A/B 、灰度、蓝绿测试

    虚拟化

    KVM

    Xen

    OpenVZ

    容器技术

    Docker

    云技术

    OpenStack

    DevOps

    文档管理

    中间件

    Web Server

    Nginx

    OpenResty

    Apache Httpd

    Tomcat

    架构原理

    调优方案

    Jetty

    • 《Jetty 的工作原理以及与 Tomcat 的比较》
    • 《jetty和tomcat优势比较》
      • 架构比较:Jetty的架构比Tomcat的更为简单。
      • 性能比较:Jetty和Tomcat性能方面差异不大,Jetty默认采用NIO结束在处理I/O请求上更占优势,Tomcat默认采用BIO处理I/O请求,Tomcat适合处理少数非常繁忙的链接,处理静态资源时性能较差。
      • 其他方面:Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好;Tomcat 对JEE和Servlet 支持更加全面。

    缓存

    本地缓存

    客户端缓存

    服务端缓存

    Memcached

    Redis

    • 《Redis 教程》

    • 《redis底层原理》

      • 使用 ziplist 存储链表,ziplist是一种压缩链表,它的好处是更能节省内存空间,因为它所存储的内容都是在连续的内存区域当中的。
      • 使用 skiplist(跳跃表)来存储有序集合对象、查找上先从高Level查起、时间复杂度和红黑树相当,实现容易,无锁、并发性好。
    • 《Redis持久化方式》

      • RDB方式:定期备份快照,常用于灾难恢复。优点:通过fork出的进程进行备份,不影响主进程、RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快。缺点:会丢数据。
      • AOF方式:保存操作日志方式。优点:恢复时数据丢失少,缺点:文件大,回复慢。
      • 也可以两者结合使用。
    • 《分布式缓存--序列3--原子操作与CAS乐观锁》

    相关文章

      网友评论

        本文标题:后端架构师技术图谱(四)-微服务

        本文链接:https://www.haomeiwen.com/subject/kovqcctx.html