初识 Kong 之负载均衡

使用 Kong Community Edition(社区版 v1.3.0)来搭建一个负载均衡器,由于 Kong 是基于 Openresty 的,而 Openresty 又是 Nginx 的二次封装,所有很多配置项和 Nginx 类似。

来看一个较为典型的 Nginx 负载均衡配置


技术精进的三境界

最近更新了一篇 Docker 的文章,朋友跟我反馈说效果并不是很好,我回头看了下,的确没有我自己的特色,没有太多思考,让公众号显得有些「百货」了。经过反思,今后只在个人博客更新 Docker 相关的个人学习经验(传送门),个人公众号还是主要推送和 Java 结合较为紧密的内容。


JAVA 拾遗 --eqauls 和 hashCode 方法

缘起—lombok 引发的惨案

Lombok 是一种 Java™ 实用工具,可用于帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。

最近一个新项目中开始使用了 lombok,由于其真的是太简单易懂了,以至于我连文档都没看,直接就上手使用了,引发了一桩惨案。


离开魔都后的一点感想

看过我公众号简介的朋友会发现,我公众号的定位是分享一些个人的技术博客和杂谈,这其中的杂谈不仅包括了技术杂谈,也包含了自己的一些感悟。所以借此澄清,这是一篇杂文!总结了我在魔都这一年半不同角度的感悟。

技术沙龙

我前几天刚发过一个朋友圈:魔都得天独厚的优势便是各种技术沙龙,其中不乏有很多是免费的。我在魔都这些日子,参加了大概 13-15 场技术沙龙。参加这种技术分享会的动机很单纯,大家都是去学习互联网最前沿的技术的,但隐性的好处也很多:

  1. 你可以认识很多跟你同样有积极性的同行们,试想一下,这样一批放弃了周末休息时间,不睡懒觉,不打游戏,不陪妹子的人,必然是对技术充满了热情的一帮人。我有不少微信好友是在技术分享会上添加的。
  2. 有些朋友身处传统行业,平时的业务接触不到高并发,JVM 这些看似高大上的名词,但是技术沙龙带来了这样的可能性,让你没吃过猪肉,至少见过猪跑。映像比较深刻的是“美团点评技术团队”定期举办的技术沙龙,参加了两次,分享的很棒,而且大多数情况下,只需要在 APP 中报名即可参加。
  3. 同行间的技术方案分享。很有可能你正在负责公司某块业务的技术选型,而沙龙正好涉及了相关的内容,可以静静聆听下别人的解决方案,通过别人落地的架构,来指导自己的选型。这一点我也有例子真实的例子与之对应,大概是 17 年初,有一场 daocloud 举办的 springcloud 社区沙龙,由 DD 带来的 zuul 源码解读以及案例分享,记忆尤为深刻,当时我所在的公司也恰巧在对 zuul 进行改造,而 DD 分享的主题对于我的工作非常有帮助。

深入理解 RPC 之集群篇

上一篇文章分析了服务的注册与发现,这一篇文章着重分析下 RPC 框架都会用到的集群的相关知识。

集群 (Cluster) 本身并不具备太多知识点,在分布式系统中,集群一般涵盖了负载均衡(LoadBalance),高可用(HA),路由(Route)等等概念,每个 RPC 框架对集群支持的程度不同,本文着重分析前两者 – 负载均衡和高可用。


JAVA 拾遗--JPA 二三事

记得前几个月,spring4all 社区刚搞过一次技术话题讨论:如何对 JPA 或者 MyBatis 进行技术选型?传送门:http://www.spring4all.com/article/391 由于平时工作接触较多的是 JPA,所以对其更熟悉一些,这一篇文章记录下个人在使用 JPA 时的一些小技巧。补充说明:JPA 是一个规范,本文所提到的 JPA,特指 spring-data-jpa。

tips:阅读本文之前,建议了解值对象和实体这两个概念的区别。

使用 @Embedded 关联一对一的值对象

现实世界有很多一对一的关联关系,如人和身份证,订单和购买者…而在 JPA 中表达一对一的关联,通常有三种方式。下面就以订单(Order)和购买者(CustomerVo)为例来介绍这三种方式,这里 CustomerVo 的 Vo 指的是 Value Object。


JAVA 拾遗 --Instrument 机制

最近在研究 skywalking,发现其作为一个 APM 框架,比起作为 trace 框架的 zipkin 多了一个监控维度:对 JVM 的监控。而 skywalking 集成进系统的方式也和传统的框架不太一样,由于其需要对 JVM 进行无侵入式的监控,所以借助了 JAVA5 提供的 Instrument 机制。关于“Instrument”这个单词,没找到准确的翻译,个人理解为“增强,装配”。


Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×