The end of 2016

The end of 2016 不知不觉又是一年,不得不感叹,时间真的是过得好快。原本便想写点什么,聊以纪念下逝去的岁月,趁着贴完对联有些闲下来的时间,终于是提起了笔。 关于工作 年初的时候鄙人制定了一系列的计划,原本以为可以按部就班的一一实现,没想到计划赶不上变化,竟然“莫名其妙”地在年中匆忙换了工作。 上半年的话,和大浪、宇杰他们几个一起参加了Ctrip的hackthon,虽然做的所谓的语音发布挫是挫了点,但也好歹是一份经历,而借助Tracker和Docker job,终究是让鄙人对Python和Ng有了一个新的理解。可以说,在Tars的这段经历还是相当宝贵的经验,如何优雅地做产品,怎样才是一个合格的Py程序员,鄙人大概有些了解了。 到年中的时候,因为种种原因,想多见识见识也好,担心没有…

Read More

[ 翻译 ] 数据库真的适合容器化吗?(也许不是)

容器概念(特别是Docker)非常火热。但是,在把数据库包装到一个全新的容器之前,有一些事情需要先在脑海里过一下。 本文评估了Docker和其他容器解决方案在数据库环境下的可行性。 几周前,我写了一篇相对概括的关于容器的文章。它介绍了你什么时候该考虑使用Docker,rkt,LXC等容器技术。方便的话不妨先浏览一下。这是一个很好的方式,在迁移到新技术架构前先了解一些需要考虑的方面。而这也引发了我们解决方案工程师团队的一次内部讨论。你的团队应该也会有一个相同的困惑:客户应该把数据库跑在容器里吗? 在开始之前,我们先得认可一个事实:Percona正在使用容器。Percona监控和管理(简称PMM)提供的全部优美的图表和查询分析都是通过运行一个Docker容器承载的。我们做出这个选择是因为组…

Read More

[ 翻译 ] 在Windows 10上运行Linux及Windows容器

在西雅图举办的DockerCon 2016上,Docker官方发布了Docker Windows的公开测试版本。在这一版本里,你能够以一种非常简便的方式在安装了Hyper-V的Windows 10专业版上通过Docker运行Linux容器。在一段时间内这里会同时存在一个稳定版本以及一个测试版本渠道以获取新的版本。 并且,微软已经将容器功能添加到了Windows10的年度更新补丁里。通过一些安装步骤,你便能在你的Windows10机器上运行Windows Hyper-V容器。 但是这里面可能存在点小疑问,那便是这两种安装方式对应启动的是哪类容器。而且,在不做任何调整的情况下你将无法并排运行两个Docker引擎。 由于两个安装版本使用的是同一个默认的命名通道//./pipe/docker_eng…

Read More

[ 翻译 ] 将Java EE单体应用打造成微服务

紧接着上篇为什么微服务应该是事件驱动的介绍博客,我还想再花一些文章和篇幅就这块为我即将参加的一些演讲做些准备(与你相约jBCNconf及在旧金山的Red Hat峰会)。你可以通过在twitter上关注我@christianposta来跟进这个项目的最新进展。在本文里,我们将讨论第一部分,即如何拆分一个单体应用。 这些文章里我所深入探索的单体应用,教程案例取自Ticket Monster,它已经在很长一段时间内被当成是讲解如何使用Java EE和Red Hat技术来构建一个出色应用的经典例子。我们选用Ticket Monster是因为它是一个精心编写的应用,它在“作为教程不够详尽”和“作为例子来讲太过复杂”这两条线之间权衡的很好。它很适用于教学用途,而且我们可以具体以它为蓝本,就真实的样例代码…

Read More

Goodbye, Ctrip!

鄙人从2013年11月4号加入Ctrip,到如今也有2年有余了。依稀还记得,当年给Ctrip投简历只是在上家公司实习时倍感迷茫之后的一个无心之举,没想到竟是有了这两年多的经历。 记得以前一位朋友说过,“只有成为一家公司的正式员工,你才能有机会真正了解它”,此话的确不假。Ctrip是鄙人毕业之后的第一份正式工作,同其他同龄人一样,鄙人也由此经历了刚毕业时的伤感,职业发展的迷茫,还有漂泊在外的失落孤单。从最开始技培生培训,到后面学Saltstack,和俊哥一起折腾基础配置自动化,和Thomas、Jeff大哥们一起捣鼓Noah,再到学Polymer,搞Salt改造,真的学到不少东西。这段经历也让鄙人明白,个人最大的毛病便是不会做事,必须要懂得如何产生价值,否则没有产出便等同于失败,当然,上层的认可…

Read More

[ 翻译 ] Docker结合Consul实现的服务发现(二)

那么,欢迎来到”Docker结合Consul实现的服务发现“系列的第二部分。在这第二篇里,我们将一起来看看你该如何使用Consul相关的系列工具,以使得服务发现其他的周边功能更容易实现。 想要了解本系列的其他文章,你可以转到: consul实现的服务发现分享; Docker结合Consul实现的服务发现(一) 架构回顾以及下一步要做的 在这篇文章里,我们将继续扩展之前上一篇里所创建的架构设置。在上篇里,我们借助Docker和Consul创建了如下的微服务架构: 因此,如果你还没有这样做的话,赶紧先走通上篇文章里的步骤,然后确保你已经获得了一个可以使用Docker Swarm,Docker Compose以及正确配置了Docker网络的环境吧。为了检查是否真的万事俱备,你可以通过以下命令的…

Read More