摘要: 1、轻易不要去修改别人的方法 可能很多地方调用 有的方法抛出去后 被其他外部的调用(你都不知道 被谁调用了) 做兼容 做扩展 2、自己的设计 保证好的扩展性 对扩展开放,对修改关闭 经常改的 不要写死 解耦 走数据字典 走配置 阅读全文
posted @ 2020-04-10 15:50 conn2019 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 首先 redis 单个命令是原子性的 因为单线程 Redis客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程。其中执行命令阶段,由于Redis是单线程来处理命令的,所有到达服务端的命令都不会立刻执行,所有的命令都会进入一个队列中,然后逐个执行,并且多个客户端发送的命令的执行顺序是 阅读全文
posted @ 2020-04-06 21:30 conn2019 阅读(270) 评论(0) 推荐(0) 编辑
摘要: http vs rpc: 1、RPC是一种思想,Http是一种协议,这是本质区别。rpc可以基于tcp或者http实现 2、对于在接口不多、系统与系统交互较少的情况下,解决信息孤岛初期常使用的一种通信手段;优点就是简单、直接、开发方便。利用现成的http协议进行传输。 但是对于大型企业来说,内部子系 阅读全文
posted @ 2020-04-06 11:30 conn2019 阅读(206) 评论(0) 推荐(0) 编辑
摘要: OSI:(Open System Interconnect),即开放式系统互联。 TCP:三次握手可靠吗 三次是保证双方互相明确对方能收能发的最低值。 理论上讲不论握手多少次都不能确认一条信道是“可靠”的,但通过3次握手可以至少确认它是“可用”的,再往上加握手次数不过是提高“它是可用的”这个结论的可 阅读全文
posted @ 2020-04-02 23:27 conn2019 阅读(173) 评论(1) 推荐(0) 编辑
摘要: go lang 相对较新 1 社区活跃度 比如 golang 遇到问题了 去哪里百度 一些大厂在用 2 对应的解决方案 库 组件 java 相对成熟 比如就Jedis 阅读全文
posted @ 2020-03-31 09:47 conn2019 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 1 主从 2 哨兵 高可用 3 cluster 一 高可用 二 槽 分片 负载均衡 阅读全文
posted @ 2020-03-30 18:33 conn2019 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 4. 【强制】用户请求传入的任何参数必须做有效性验证。 说明:忽略参数校验可能导致: ⚫ page size 过大导致内存溢出 ⚫ 恶意 order by 导致数据库慢查询 ⚫ 任意重定向 ⚫ SQL 注入 ⚫ 反序列化注入 ⚫ 正则输入源串拒绝服务 ReDoS 说明:Java 代码用正则来验证客户 阅读全文
posted @ 2020-03-08 19:20 conn2019 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 1、对api证书的保护;https相对http的安全性问题 2、调用三方接口 比如:腾讯地图API获取经纬度、顺丰快递AP查询物流信息、微信API刷脸支付 ;如果发生网络异常,比如连接失败,读写超时等网络错误,请用原请求参数再次调用支付接口确认结果。 对应的异常处理 做下 或者失败了 重试几次设置下 阅读全文
posted @ 2020-03-03 18:25 conn2019 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 5. 【强制】有 try 块放到了事务代码中,catch 异常后,如果需要回滚事务,一定要注意手动回 滚事务。 6. 【强制】finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch。 说明:如果 JDK7 及以上,可以使用 try-with-resources 方式。 7 阅读全文
posted @ 2020-03-03 00:31 conn2019 阅读(790) 评论(0) 推荐(0) 编辑
摘要: 参考: https://blog.csdn.net/liuchang840302/article/details/83894907 对设计模式的理解: 策略模式: 类图相对简单 主要是继承(实现接口) 体现多态 单一职责 同一类动作 不同的策略 执行相应的动作 如:策略1 网银充值100需付多少钱 阅读全文
posted @ 2020-03-01 14:13 conn2019 阅读(520) 评论(0) 推荐(0) 编辑