zoukankan      html  css  js  c++  java
  • [译]我们为何基于FreeBSD打造解决方案?

    [译注]翻译这篇文章,主要是觉得老外在思考问题时,勇于打破固有的技术栈积累,尝试不同的选择,从而找到最合适自己的技术方案、得到真正的实惠。

    Synergy SKY提供多种软件解决方案,本文想讨论的是关于一套用于视频相关的呼叫记录(CDR)分析解决方案。

    为客户提供方案时有两种选择,一是让客户避免所有的前置安装、构建一套纯粹的云方案,但这种架构还是有很多术语如数据存储、计算需求和管理;二是直接提供一键式软件预装,这也许是我们要做的。

    我们在VMWare类似的虚拟机环境,可以构建全栈测试环境,但首先面临的问题就是操作系统的选择。CentOS当然是我们的首选。

    在测试过程中,我们经历的其中一个主要的问题是当应用程序占用太多内存时,Systemd会试图让整个dbus-systemd连接崩溃,导致整个系统处于不稳定的状态,只有重启才能解决问题。

    我们还遇到一些其它的问题,可能在最新的CentOS中已经解决了吧。

    我们在CentOS系统上已经积累了大量的经验,这在我们做决定时是件好事。

    我们在构建平台时所关注的点:

    • 容器技术 (docker进行了全方位的测试,LXC进行了一些)
    • 软件包与软件仓库管理工具 (yum/dnf)
    • 自动化安装
    • 服务管理(Systemd)
    • 如何处理系统的基础配置(网络、服务启动等)

    带着CentOS的经验,对于FreeBSD的体验过程也是从头编译了所有要用到的软件。

    然而抱着“行动前先获得点印象”的想法,我们还是决定测试其它的Linux发行版。这正是事情的一个转折点。

    FreeBSD 10.3给我们的第一印象就超出了预期。几分钟就可以完成安装,在线手册编写得异常的好。令我惊讶的是有预先编译好的软件包,几乎是开箱即用。几个小时后,我就用FreeBSD搭好了整个技术栈环境。

    通过对基于FreeBSD Jail和ZFS的行业案例的了解及自己的体验,我们立马决定不再寻找其它的替代品,专注于测试和学习FreeBSD。

    • 容器技术 ⇒ FreeBSD Jails
    • 软件包和软件仓库管理工具 (yum/dnf) ⇒ Pkgng / pkg / ports
    • 自动化安装 ⇒ bsdinstall (我们甚至构建了PXE安装镜像,让你可以几分钟运行起来一套开发系统)
    • 服务管理系统 ⇒FreeBSD rc
    • 如何处理系统的基础配置(网络、服务启动等) ⇒ FreeBSD rc 及 rc.conf

    我们基于Pkgng作为二进制软件包的发行格式。整个过程中当然也会遇到这样那样的一些挑战,但从来不上稳定性和性能方面的。在OS和用户空间层软件的隔离清晰,这一点完全符合逻辑,也被完美执行了。这也让整个系统自动变得更整洁,很容易知道在哪去找配置文件、在哪存放数据。

    FreeBSD 给到我们的是那种“刚好就能用”的体验,而且没有牺牲完整的控制能力。它在实际表现中非常成熟、稳定而又性能强劲!

    FreeBSD已经伴随我们走过两年的时间,我们没有再中断过。

    有几点要再提一下,也是几个让FreeBSD变得更棒的方面:

    • Freebsd-update, 让你的基础操作系统保持更新、与软件包系统相互独立
    • Pkg 仓库持续更新,不会像ubuntu/debian/CentOS那样
    • 开箱即用
    • 通过ports系统,非常容易修改、重新构建和分发定制后的软件包
    • 原生集成ZFS,而不仅仅是用户空间层面的驱动
    • 商业许可问题更容易处理
    • Network 相关的技术栈,FreeBSD中总共有三种不同的防火墙,我们选择了pf

    原文:http://blog.synergysky.com/whydidwebuildoursolutionontopof_freebsd

    译文有部分删减

  • 相关阅读:
    Windows性能计数器应用
    Azure Oracle Linux VNC 配置
    Azure 配置管理系列 Oracle Linux (PART6)
    Azure 配置管理系列 Oracle Linux (PART5)
    Azure 配置管理系列 Oracle Linux (PART4)
    Azure 配置管理系列 Oracle Linux (PART3)
    Azure 配置管理系列 Oracle Linux (PART2)
    vagrant多节点配置
    docker基本操作
    LINUX开启允许对外访问的网络端口命令
  • 原文地址:https://www.cnblogs.com/x3d/p/8287275.html
Copyright © 2011-2022 走看看