我在极客时间的首次分享

217 阅读2分钟
文章首发于公众号 松花皮蛋的黑板报
作者就职于京东,在稳定性保障、敏捷开发、高级JAVA、微服务架构有深入的理解


当时我将自己的文章投稿到InfoQ,然后总编辑郭总邮件邀请我来分享,于是有了这次值得纪念的演讲。欢迎朋友们前往极客时间App观看。

主题为:如何利用有效的资源抗住618大促流量

大概内容如下:

性能测试

性能优化

硬件优化可包括配置升级比如使用支持NIO的Tomcat版本代替低版本、集群水平扩展、摘取集群短板。

软件优化包括代码审查然后优化SQL和低性能代码。

扩展点

一、开发语言基础知识

数据结构中各种集合间的区别,包括适用场景、CRUD复杂度、线程安全性、有序性、快速失败特性。

并发当中的四种设计模式,包括Future模式、Master-Slave模式、保护暂停模式、不可变模式、生产消费者模式等。

IO当中的零拷贝技术、序列化和反序列化。

内存管理中的内存模型、垃圾回收策略。

使用连接池减少管理的开销。

二、程序设计

SOLID原则,具体为单一职责原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。

设计模式,常见的有单例模式、工厂模式、策略模式、责任链模式。

接口设计,比如借鉴组合模式减少过多的重载。

避免过度设计,不要过早关注安全性、可配置性、可扩展性、可维护性、可继承性。

三、数据库

理解好索引和锁。

四、中间件

利用好缓存,但是要注意缓存和源数据同步的一致性问题。

利用好消息引擎,但是要注意幂等性、有序性、数据冗余复制的问题。

五、分层

理解好领域驱动设计,按业务划分限界上下文、消除隐匿数据依赖、明确定义依赖方向。

六、高可用

服务降级、服务限流、依赖熔断、队列、超时和重试机制、数据一致性。


文章来源:www.liangsonghua.me

作者介绍:京东资深工程师-梁松华,在稳定性保障、敏捷开发、JAVA高级、微服务架构方面有深入的理解