美文网首页
架构设计

架构设计

作者: John13 | 来源:发表于2020-05-14 22:53 被阅读0次

    常见优化技术

    Cache:缓存,万金油,哪里不行优先考虑
    Queue:消息队列,常见使用Linkedin的kafka
    Asynchronized:批处理+异步,减少系统IO瓶颈
    Load Balance: 负载均衡,可以使用一致性hash技术做到尽量少的数据迁移Parallelization:并行计算,比如MapReduce
    Replication:提高可靠性,如HDFS,基于位置感知的多块拷贝
    Partition:数据库sharding,通过hash取摸

    常见知识

    常见的软件架构套路

    • 分层模式
      这种模式主要是将设计分层,每一层为其上层提供服务。例如:web开发中我们常常将某些常用的RESTful接口抽象出一个service层。
    layerd pattern
    • 客户端-服务端模式
      客户端和服务端分离,从而解耦。通过这样设计,服务端可以同时为多个客户端提供服务。例如:微信。手机上的微信就是一个客户端, 而服务器则在腾讯。
    client server pattern
    • 主从模式
      将整个软件区分为两块,一个是master,中文常叫做主,另一个是slave,中文常叫做从。例如:Nginx就使用了这种模式,因此master 可以方便的管理多个slave。
    master slave pattern
    • 管道模式
      将一个函数或者软件的输出作为下一个函数或者软件的输入,然后把他们串起来,就形成了管道模式。例如:bash中的 |
    pipe pattern
    • 消息传递模式
      broker,最常见到这个词语的地方就是任务队列。我们通过一个中间介质,把消息的发布者和消费者解耦。例如:Celery。
    broker pattern
    • 点对点模式
      大名鼎鼎的P2P,这是一种没有中央服务器的模式。例如:种子。
    p2p pattern
    • event-bus模式
      这种模式和消息传递模式很像,区别在于,消息传递模式,消费者主动监听可以消费的队列,而这种模式,是注册事件,由owner调用,例如:安卓中的路由监听。
    eventbus pattern
    • MVC模式
      这是web开发中最常见的一种模式了。 通过将Model(提供数据),View(处理视图),Controller(粘合两者)区分开来,Model和View提供服务,Controller负责整合。
    mvc pattern

    相关文章

      网友评论

          本文标题:架构设计

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