zoukankan      html  css  js  c++  java
  • 架构小结

    分布式服务:
    1、dns轮询:一个域名配置多个ip,通过轮询的方式进行请求(无健康检查、分配不均、会话保持)
    2、cdn加速:将系统中的静态资源缓存在cdn节点上,用户请求不回直接落在企业的数据中心,而是请求离用户最近的服务商。
    3、业务系统垂直划分:根据不同的业务,拆分为不同的子业务来部署。
    4、服务化:垂直化拆分的过程中,不同的子业务可能会有共享的服务,共享的业务会被重复建设,重复建设导致的问题:(1)数据库等底层连接资源横向扩展节点受到限制(2)多个团队维护相同的模块,容易出问题。所以就需要将共享的业务提出来,进行服务化,让业务能共用。
    5、服务化-RPC:服务化是一个抽象的概念,而RPC是实现服务调用的关键,RPC调用本质上屏蔽了复杂的底层处理细节,让服务调用方甚至能向调用本地方法一样调用服务提供方的服务。
    6、服务治理
    7、分布式调用跟踪系统:dubbo实现filter接口
     
     
    限流消峰:
    1、5种常见提高系统可靠性方案:扩容、缓存、限流、服务降级、动静分离
    2、限流算法:令牌桶算法、漏桶算法、计数器算法
    3、消峰:基于时间分片的消峰方案(活动分时段/答验证题)
    4、异步调用实现解藕/流量消峰
    5、JMS消失模式:点对点、发布订阅模式
    6、activemq:
    jsmprovider:消息路由消息传递
    provider
    consumer
    7、rocketmq:
    nameserver :注册中心,负责客户端寻址工作
    broker :消息服务端,提供消息管理、存储、分发等功能
    provider
    consumer
    broker部署方式:单master、多master、多master/slave异步复制、多master/slave同步双写
     
     
    分布式配置管理:
    1、zk:配置管理、分布式协调/调用、分布式锁、
    2、zk的节点:持久节点、瞬时节点
    3、通过watcher监听节点值的变化
    4、通过从配置中心获取spring中的bean实现bean的动态注册
    5、
     
    大数据场景热点数据的读写优化
    读:
    1、redis多读多写方案:
    将热销的商品key,根据计算,落到所有的node节点上,实现数据坑余,客户端根据加工的key,进行轮训或者其他查询操作
    缺:多写时候缓存一致性(zk配置商品key)、扩容时node所持槽的变化
    2、localcache结合redis集群实现多集cache方案
    只缓存热点数据
    对不不经常变的设置较长的定时轮询
    对于库存之类,设置频繁轮询从分布式缓存中获取,允许一部分脏读,下单时再提示库存不足
    3、实时热点自动发布
    日志监控分析等
     
    写:
    innodb的行锁会导致吞吐量下降,采用数据库行锁,防止超售方案:1、添加version版本2、判断扣除的库存是否小于剩余库存
    redis中扣除库存:悲观锁
    优化:对库存扣除进行收集,到达指定阀值再获取锁合并处理
    采用redis中的watcher命令实现优化,watcher进行key标记后,事务提交的时候key值发生变化就回滚
    抢购环节:单机限流,10秒钟最多1000个请求,超过则直接返回失败
     
    分库分表
     
  • 相关阅读:
    Dot Net WinForm 控件开发 (七) 为属性提下拉式属性编辑器
    WinForm 程序的界面多语言切换
    c#遍历HashTable
    Dot Net WinForm 控件开发 (三) 自定义类型的属性需要自定义类型转换器
    Dot Net WinForm 控件开发 (六) 为属性提供弹出式编辑对话框
    Dot Net WinForm 控件开发 (一) 写一个最简单的控件
    Dot Net WinForm 控件开发 (四) 设置属性的默认值
    Dot Net WinForm 控件开发 (二) 给控件来点描述信息
    Dot Net WinForm 控件开发 (八) 调试控件的设计时行为
    Dot Net WinForm 控件开发 (五) 复杂属性的子属性
  • 原文地址:https://www.cnblogs.com/guoliangxie/p/7596691.html
Copyright © 2011-2022 走看看