谈资
摘要:边缘服务器 面向Internet的web服务器 短心跳 指的是某种情况或某种业务,它非常快,但调用的频次特别高 原逻辑代码 指的是程序员在编码时按照需求原本的的样子进行翻译,没有任何增加与改动的进行编码。 柔性事物,最终一致性 柔性事物,可以使用事物消息实现,但需要MQ支持事物消息。很多MQ中间件都
阅读全文
随记应背
摘要:消息驱动和事件驱动的一点点区别 消息驱动 A发送一个消息到消息队列,B收到该消息。A很明确这个消息是发给B的。通常是点对点模式。 事件驱动 A发出一个事件,B或者C收到这个事件,或者没人收到这个事件,A只会产生一个事件,不会关心谁会处理这个事件 。通常是发布订阅模式。 汗:纯概念问题? 单点登录和唯
阅读全文
重构
摘要:如何进行重构 对象行为改变的因素一定要是直接受到影响,不要跨级影响。 添加完整的注释 重写非单一职责的类、方法 涉及到表级的改动影响比较大,需要特别慎重 全局变量有妙用,但需慎用 例 假定这样一个场景应用上显示前后两个数字,当个位上的值大于十就将前面的数字加一。初始场景只有一个“加十”按钮。于是对于
阅读全文
初识消息队列
摘要:应用场景 异步处理 比如打车,我只需要发布打车信息就可以了,不需要等着别人来接单。 解耦 传统模式若出现库存系统无法访问,则订单减库存将失败,从而导致订单失败。引入MQ后,订单系统写入消息队列后就可以不在关心后续操作 流量削峰 秒杀活动流量过大,导致应用挂掉,可以控制活动人数,缓解短时间内的高流量压
阅读全文
锁
摘要:参考文档:https://www.cnblogs.com/djs19/p/11507024.html 悲观锁 按性质划分 共享锁:S锁,可进行读取数据,但事务没有提交前不能修改数据 排他锁:X锁,独占锁,其它事务不能在给它加锁了 更新锁:U锁,在修改操作的初始化阶段来锁定可能被修改的资源,避免使用共
阅读全文
架构指南
摘要:定义: 通常更侧重宏观的设计,且不考虑开发语言。从不同的维度来讲可以有多重分类、子分类。比如:事件驱动的架构、分层架构等等 分类: 物理架构:主要研究项目最后的部署问题。 逻辑架构:通常设计项目各大模块组成和模块间的关系。 开发架构:确定开发语言、选择合适的技术架构。 演变: 单体架构 特点: 是最
阅读全文
耦合
摘要:参考文档:https://www.cnblogs.com/gitnull/p/10340848.html 哪些是耦合呢? 1.元素B是元素A的属性,或者元素A引用了元素B的实例(这包括元素A调用的某个方法,其参数中包含元素B)。 2.元素A调用了元素B的方法。 3.元素A是元素B的子类。 4.元素A
阅读全文
设计原则
摘要:1. 开闭原则——可扩不可改 软件实体如类、模块和函数应该对扩展开放,对修改关闭 在软件的生命周期内,因升级和维护对原有代码进行修改,可能会引入错误。 所以当软件需要变化时,通过扩展软件实体的行为来实现变化,而不是修改原有代码。 2. 里氏代换原则——子可替父 只有当衍生类可以替换掉基类,软件单位的
阅读全文
DNS-CDN
摘要:DNS 负责将域名解析成 IP 地址。 DNS 劫持,只能截获通过域名发起的流量,直接使用 IP 地址的通信则不受影响 CDN 入侵,只有浏览网页或下载时才有风险,其他场合则毫无问题;而网关被劫持,用户所有流量都难逃魔掌 上古时代: Hub 嗅探 MAC 欺骗 MAC 冲刷 ARP 攻击 DHCP
阅读全文