zoukankan      html  css  js  c++  java
  • 完成胜过完美

    最近反思系统的可扩展性设计,发现这块在大部分时间大部分场景都不是第一优先要考虑的,在大多数不确定的环境下,首要考虑的往往是实现,以最小成本快速的实现,然后在逐步优化迭代,最终可能会进化成完美的设计。

    理想与现实总是有巨大的差距,技术人员都希望做完美的架构设计,但在实际工作中真能做到这样的少之又少,所以很多软件产品的生命周期都很短,国内很多公司的代码设计都被爆又各种问题,比如前段时间网传的腾讯、携程技术、代码上的各种问题。

    对大部分程序员,工作的前几年就是代码的搬运工,只有你会用搜索和官方文档,加上一点自己的思考,就能做的很不错。后面再想在技术道路上进阶就要不断提升自己的优化能力,不断解决问题、积累可迁移的经验和能力,进而成为技术专家。

    在当下的环境,比起功能上如何更好的扩展,性能的扩展更易被别人关注,有两个方向:

    • 纵向扩展:包括给服务器增加更多资源,例如内存 (RAM)、磁盘空间、处理器等。这在某些方案中具备实用价值,但经过特定时间点后就会发现,这种扩展费用高昂,不如借助横向扩展。

    • 横向扩展:在这个过程中会增加更多机器或额外的服务器实例/节点,这也叫做集群(Clustering),因为所有服务器是作为一个集体或集群一起运行的。

    但具体在实施会遇到各种问题,是否能解决问题就是一个人能力水平的最好体现。 

  • 相关阅读:
    BufferedImage学习记录一
    response总结一
    Externalizable接口
    request 总结一
    处理jsp显示文字过长问题
    验证码设计
    ORA01461: 仅能绑定要插入 LONG 列的 LONG 值
    MAP平台在单据中填写好部门后,关闭后重新打开,部门就没有了
    MAP平台设置节点选取范围
    MAP平台java.lang.StackOverflowError
  • 原文地址:https://www.cnblogs.com/doit8791/p/10777590.html
Copyright © 2011-2022 走看看