07 2018 档案

中小型研发团队架构实践三要点
摘要:中小型研发团队很多,而社区在中小型研发团队架构实践方面的探讨却很少。中小型研发团队特别是 50 至 200 人的研发团队,在早期的业务探索阶段,更多关注业务逻辑,快速迭代以验证商业模式,很少去关注技术架构。 这时如果继续按照原有的架构及研发模式,会出现大量的问题,再也无法玩下去了。能不能有一套可直接落地、基于开源、成本低,可快速搭建的中间件及架构升级方案呢? 阅读全文

posted @ 2018-07-28 16:37 茶轴的青春 阅读(1305) 评论(0) 推荐(1) 编辑

分布式系统一致性保障方案总结
摘要:在互联网系统中,理想的情况下,肯定是希望系统能够同时满足“一致性”、“可用性”和“分区容忍性”。 但是基于熟悉的CAP定律也好,还是BASE理论, 我们知道,在实际情况中是不可能实现的。本文重点来阐述下关于一致性的方案,包括强一致性和最终一致性。 阅读全文

posted @ 2018-07-27 18:00 茶轴的青春 阅读(982) 评论(0) 推荐(0) 编辑

一线互联网常见的 14 个 Java 面试题,你颤抖了吗程序员
摘要:面过大 / 小公司、互联网 / 传统软件公司,在此过程中不断查缺补漏,养成了踏实、追本溯源、持续改进的习惯,特此将自己经历过、构思过的一些面试题记录下来,如果答案有问题,欢迎拍砖讨论,希望能对找工作或者感兴趣的同学有所帮助,陆续整理中。 阅读全文

posted @ 2018-07-25 15:12 茶轴的青春 阅读(3922) 评论(0) 推荐(0) 编辑

Java 多线程并发编程面试笔录一览
摘要:多线程并发编程主要培养编程者深入了解最底层的运作原理,加强编程者逻辑思维,这样才能写出高效、安全、可靠的多线程并发程序。 阅读全文

posted @ 2018-07-24 17:27 茶轴的青春 阅读(509) 评论(0) 推荐(0) 编辑

企业应用架构之微服务架构
摘要:微服务架构现在是谈到企业应用架构时必聊的话题,微服务之所以火热也是因为相对之前的应用开发方式有很多优点,如更灵活、更能适应现在需求快速变更的大环境。 本文将介绍微服务架构的演进、优缺点和微服务应用的设计原则,然后着重介绍作为一个“微服务应用平台”需要提供哪些能力、解决哪些问题才能更好的支撑企业应用架 阅读全文

posted @ 2018-07-23 17:18 茶轴的青春 阅读(4403) 评论(0) 推荐(0) 编辑

从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择
摘要:背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加。在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进。 系统架构的演进过程 单一应用架构(第一代架构) 这是平台最开始的情况,当时流量小,为了节约成本,并将所有应 阅读全文

posted @ 2018-07-22 16:31 茶轴的青春 阅读(2888) 评论(1) 推荐(0) 编辑

高阶程序员之路-轻松学习分布式锁
摘要:前言 随着互联网技术的不断发展,数据量的不断增加,业务逻辑日趋复杂,在这种背景下,传统的集中式系统已经无法满足我们的业务需求,分布式系统被应用在更多的场景,而在分布式系统中访问共享资源就需要一种互斥机制,来防止彼此之间的互相干扰,以保证一致性,在这种情况下,我们就需要用到分布式锁。 分布式一致性问题 阅读全文

posted @ 2018-07-20 16:59 茶轴的青春 阅读(412) 评论(0) 推荐(0) 编辑

巧用ELK快速实现网站流量监控可视化
摘要:前言 本文可能不会详细记录每一步实现的过程,但一定程度上可以引领小伙伴走向更开阔的视野,串联每个环节,呈现予你不一样的效果。 业务规模 8个平台 100+台服务器 10+个集群分组 微服务600+ 用户N+ 面临问题 随着分布式微服务容器技术的发展,传统监控系统面临许多问题: 容器如何监控 微服务如 阅读全文

posted @ 2018-07-18 17:52 茶轴的青春 阅读(6430) 评论(0) 推荐(1) 编辑

一名3年工作经验的java程序员应该具备的职业技能
摘要:一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容。我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价、拿到的薪水势必也越高。 1、基本语法 这包括static、final、transient等关键字的作用,foreach循 阅读全文

posted @ 2018-07-16 23:00 茶轴的青春 阅读(4001) 评论(1) 推荐(1) 编辑

众生百相:我的10年软件开发生涯
摘要:前言 我是个码农,在职场干了多年,在超过10个公司服务过,遇到过各种怪现状,拍案惊奇葩,不吐不快,太想写篇文章吐槽一下。 这篇文章汇集了我10多年来的工作中遇到的各种经历,总结的心得,分别讨论了团队与协作(同事/领导/客户的交流)、技术与质量(学习、技术选择、质量)、职业与事业(现实、追求、老油条、 阅读全文

posted @ 2018-07-14 22:30 茶轴的青春 阅读(895) 评论(0) 推荐(3) 编辑

基于Redis实现分布式锁实战
摘要:背景在很多互联网产品应用中,有些场景需要加锁处理,比如:秒杀,全局递增ID,楼层生成等等。大部分的解决方案是基于DB实现的,Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,且多客户端对Redis的连接并不存在竞争关系。其次Redis提供一些命令SETNX,GETSET,可以方便实现 阅读全文

posted @ 2018-07-13 22:50 茶轴的青春 阅读(884) 评论(0) 推荐(0) 编辑

通过 Java 线程堆栈进行性能瓶颈分析
摘要:改善性能意味着用更少的资源做更多的事情。为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算,而是让 CPU 做有用的事情而忙)。如果程序受限于当前的 CPU 计算能力,那么我们通过增加更多的处 阅读全文

posted @ 2018-07-12 22:24 茶轴的青春 阅读(1156) 评论(0) 推荐(0) 编辑

面试必问之JVM篇
摘要:前言 JVM在准备面试的时候就有看了,一直没时间写笔记。现在到了一家公司实习,闲的时候就写写,刷刷JVM博客,刷刷电子书。 学习JVM的目的也很简单: 能够知道JVM是什么,为我们干了什么,具体是怎么干的。能够理解到一些初学时不懂的东西 在面试的时候有谈资 能装逼 一、简单聊聊JVM 1.1先来看看 阅读全文

posted @ 2018-07-11 23:00 茶轴的青春 阅读(54583) 评论(5) 推荐(9) 编辑

【独家】终生受用的Redis高可用技术解决方案大全
摘要:最近很多朋友向我咨询关于高可用的方案的优缺点以及如何选择合适的方案线上使用,刚好最近在给宜人贷,光大银行做企业内训的时候也详细讲过,这里我再整理发出来,供大家参考,如有不妥之处,欢迎批评指正,也欢迎推荐更好的技术方案。不废话了,来看看方案吧~ 总纲: Redis常见的几种主要使用方式: Redis 阅读全文

posted @ 2018-07-10 22:47 茶轴的青春 阅读(1364) 评论(0) 推荐(0) 编辑

响应式微服务架构-分布式系统设计原则
摘要:O’Reilly的电子书《Reactive Microservices Architecture》讲述了微服务/分布式系统的一些设计原则,本文是笔者阅读完此书后的理解。 微服务相比传统的单体应用能够带来快速的响应,以小的系统产生大的影响。而随着网络加速、磁盘成本降低、RAM成本降低、多核技术的发展、 阅读全文

posted @ 2018-07-09 22:54 茶轴的青春 阅读(2080) 评论(0) 推荐(0) 编辑

同样的工作、同样的做需求,为什么他们能进阿里
摘要:引言 古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。 如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考 阅读全文

posted @ 2018-07-08 18:05 茶轴的青春 阅读(448) 评论(0) 推荐(0) 编辑

并发编程的艺术
摘要:很久没更新文章了,对隔三差五过来刷更新的读者说声抱歉。 关于 Java 并发也算是写了好几篇文章了,本文将介绍一些比较基础的内容,注意,阅读本文需要一定的并发基础。 本文的主要目的是让大家对于并发程序中的重排序、内存可见性以及原子性有一定的了解,同时要能准确理解 synchronized、volat 阅读全文

posted @ 2018-07-05 22:42 茶轴的青春 阅读(308) 评论(0) 推荐(0) 编辑

Java并发编程之AbstractQueuedSynchronizer源码分析
摘要:为什么要说AbstractQueuedSynchronizer呢? 因为AbstractQueuedSynchronizer是JUC并发包中锁的底层支持,AbstractQueuedSynchronizer是抽象同步队列,简称AQS,是实现同步器的基础组件,并发包中锁的实现底层就是使用AQS实现,另 阅读全文

posted @ 2018-07-02 22:38 茶轴的青春 阅读(319) 评论(0) 推荐(0) 编辑