帮助中心 广告联系

灵宝信息网-灵宝天气预报-灵宝教育网-灵宝租房-灵宝新闻网-灵宝生活网

热门关键词:

MacTalk-池建强的随想录(4)

来源:原创/投稿/转载 发布时间:2019-10-03

  AgentNEO 官网链接图,可以很清楚的看到前端负载均衡器将请求分发到两个 Rails 应用中

  熟悉的朋友可能会知道,AgentNEO 官网没有使用 ss-panel 这个开源项目,而是基于 Ruby on Rails 自己开发的。其实除了官网,我们的 Shadowsocks 也是自己实现的。

  首先,如果只是用开源软件简单的搭一个平台,就如同玩已经组装好的乐高,是一件特别没有意思的事,而且对于开源的重度依赖,也会在业务逻辑上遇到比较大的障碍。然后,作为一群还算有梦想程序员,还是想做一些有用的事情,来推动整个 Shadowsocks 社区的建设,而不是仅仅汲取开源社区的成果。

  所以,我们在一开始做 AgentNEO 的时候,就投入了很大的研发精力,遵循 Shadowsocks 协议实现自己的 Shadowsocks,包括 AgentNEO 官网的开发,无不亲力而为。这一切都是为了更好的进行技术沉淀,将来回馈开源社区。

  DevOps(Development 和 Operations 的组合词)是一种重视「软件开发人员(Dev)」和「IT运维技术人员(Ops)」之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。

  在 AgentNEO,我们始终坚持的是,尽量将所有步骤都放入自动化流程中,避免人为操作。部署时只用做决策,而不用执行(是否上线是决策,而部署步骤是执行)。大大减少「人」带来的风险。得益于近几年以 Docker 为首容器技术的兴起,整个生态圈极为活跃,我们的自动化环节都有非常丰富的资源和技术支持。

  在代码管理方面,我们使用 Gitlab 作为管理平台。拿官网举例,当有新的版本标签(例如 v1.4.5)被 push 到远端后,会触发自动测试以及自动构建(构建 Docker 镜像)的任务,成功后,会进入到等待上线的阶段,这个时候,运维只需要手动点击 Gitlab 中的部署按钮即可完成上线(只决策,不执行)。如果测试或者构建失败,则会自动发送邮件通知相关人员进行处理。

  做 AgentNEO 的动机,最开始是让自己有一个稳定、快速的网络。但是作为一个有梦想的程序员来说,既然做了,那么就要尽可能的在各个环节将自己平时的积累用起来,形成自己的一套最佳实践。这才是有意思的事情。

  推荐他们的服务,新一代的「网络加速服务」AgentNEO:AgentNEO 网络服务

  这些年杂七杂八写了很多东西,总会有读者问,你是从哪获取到这些知识和信息的?写了六年还不够你得瑟的,怎么没完没了了?早期写东西是因为之前的十几年积累了很多素材和想法,输出到一定程度,就需要重新去收集知识和素材、学习、进化,然后再次输出。这个阶段并不是串行的,而是并行的。大家会看到,很多习惯写作和分享的人,一般都是持续输出,生命力长的作家,作品也是一本接着一本,不敢长时间的中断。停下来容易,但是重新上路,就需要更大的驱动力才行。这也是很多人无法坚持的原因。

  很多人会说,知识并不重要,重要的是对知识的理解和运用,但前提是你得有这个知识库才行,如何管理自己的知识库呢?估计每个人都有自己的办法。我也有,办法虽然很土,对我来说还有些效果,分享给大家。

  收集知识对我来说大概有两个阶段,开始的时候目的性极强,比如想学习 Linux,买的书和上网找的资料都是 Linux 相关的,然后进行整理和消化吸收。后来功利性没这么强了,无论是技术、文学、传记、影像,看着好就会把一些片段或入口保存自己的知识库里。当然,任何时候都有需要针对性的知识的时候,比如写推荐算法的文章,还是得去找到特定领域的资料以确保自己写的内容是相对严谨的。

本网转载作品的目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如涉及作品内容、版权等问题,请联系我们进行修改或删除!

联系我们 -