代码改变世界

重构系统的套路-写有组织的代码

2018-06-28 10:30 by 春哥大魔王, 1107 阅读, 0 推荐, 收藏, 编辑
摘要:如果一个项目经历了快速发展,势必在业务发展背后留下了一个很无序,结构混乱的代码,无序而混乱的代码势必造成很大的bug修复及扩展成本。 说到搭建系统都在谈论高并发,大数据,而易于维护和可扩展性则被大部分人抛之脑后,增加最基础的面向对象思想和设计模式帮助我们组织好易于维护和阅读的代码。 不要好高骛远看一 阅读全文

重构系统的套路-提高并发能力

2018-06-28 10:29 by 春哥大魔王, 532 阅读, 0 推荐, 收藏, 编辑
摘要:提高系统并发能力,总结起来有三点:异步,缓存,并行。 异步 比如我们在某段业务逻辑中加了一个同步写kafka的操作,tp99瞬间多了30毫秒,这样在整个监控曲线看起来非常扎眼,于是我们需要将这个同步改成异步。 对于老系统需要在业务进行梳理,如果业务场景中不关心返回值,这样完全可以做成异步。 如果业务 阅读全文

从单例模式说起

2018-06-28 10:27 by 春哥大魔王, 292 阅读, 0 推荐, 收藏, 编辑
摘要:单例模式是我们比较常用的设计模式,玩好单例模式也会涉及到很多java基础知识。 单例作为全局性实例,在多线程情况下全局共享的变量会变得非常危险。 双重检测: 双重检测是比较常用的一种实现方式: 如果不用volatile修饰,多线程执行到 singleton == null 时,多个实例会被创建出来, 阅读全文

公网API安全--OAuth认证

2017-11-28 10:32 by 春哥大魔王, 597 阅读, 0 推荐, 收藏, 编辑
摘要:之前写过一个 "基于签名的公网API访问安全控制" ,另一种方式是基于OAuth认证协议做安全控制。 说明 用户访问A客户端,使用B的服务及资源。B只有征得用户的授权,才允许A客户端使用B上用户的资源和服务。 名词 第三方客户端,A客户端。 服务提供商,B服务。 资源所有者,用户。 用户代理,比如浏 阅读全文

微服务实践

2017-11-15 12:38 by 春哥大魔王, 439 阅读, 0 推荐, 收藏, 编辑
摘要:什么是微服务 微服务的两个核心: 微:服务粒度更细,即服务要细到API 服务:提供好服务,让服务好用 总结以上两点,来看这张图: 从图可以看出,微服务很简单,好的架构就应该简单,我们将服务拆API,每个服务服务于一个完整的功能。 我们将所有API扔到“云上”,用户通过连接“云”获取所有服务,“云”保 阅读全文

服务化配置的另一种可能

2017-11-13 16:05 by 春哥大魔王, 947 阅读, 0 推荐, 收藏, 编辑
摘要:项目背景 项目是给内部团队用的,也算是业务场景较为复杂的系统,这种系统较于互联网C端产品,用户量不大,QPS峰值不会太高,但业务会比较复杂,业务变动比较频繁。 其中一个校验的功能点会对客户端文件内容进行规则性的判断和校验,不同校验结果吐出不同的国际化信息。 最开始的考量是业务校验属于非核心业务内容, 阅读全文

当我们准备做前后端分离项目时,我们在考虑什么?

2017-10-11 11:23 by 春哥大魔王, 3601 阅读, 4 推荐, 收藏, 编辑
摘要:几年前做前后端分离项目的原因,是node刚刚横空出世,业界开始考虑如何真正的 ,于是就借鉴阿里 项目去尝试,主要还是用到了node的密集io场景下的转发。 我们的新项目是采用前后端分离的方式进行开发,这一点主要是基于产品特点考虑而来,产品本身会有很强的 的特点。 我们后端服务面向的客户端包含: , 阅读全文

我的微服务之路

2017-08-20 21:38 by 春哥大魔王, 1976 阅读, 1 推荐, 收藏, 编辑
摘要:我的微服务之路 故事开端 故事开始于一年半前,当时还在维护着公司的一套老项目,项目虽老,但是每天的pv,up都是过千万的。理论上算得上是一个大项目,对于技术能力有一定的挑战。 公司历史悠久,项目架构庞杂,说实话进入公司之后好像没有听到如何强制的执行一些开发及代码规范,比如插件啦,git指南啦,cod 阅读全文

程序员工作久了基础更重要

2017-07-05 10:02 by 春哥大魔王, 2860 阅读, 7 推荐, 收藏, 编辑
摘要:工作一段时间会遇到一个瓶颈期,会考虑未来1到2年的发展和方向问题,之前的方式是通过不停的学习新的框架或者解决方案来调整。 比如写服务端代码期间会去学习TDD,DDD,CQRS代码逻辑层的东西,学前端框架等度过第一个阶段。 后来会去学习大型互联网架构的解决方案,什么负载均衡,分库分表,数据一致性的解决 阅读全文

大数据学习系列----文章汇总

2017-06-13 13:23 by 春哥大魔王, 354 阅读, 0 推荐, 收藏, 编辑
摘要:大数据学习系列 安装Hadoop https://my.oschina.net/u/1000241/blog/908988 大数据学习系列 python写MapReduce https://my.oschina.net/u/1000241/blog/908997 大数据学习系列 web日志分析 ht 阅读全文