课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,程序员能够掌握的编程开发方式也越来越多了,而本文我们就通过案例分析来了解一下,无服务器计算编程开发技术应用。
我们做任何一个技术选型都要对这个技术有一个客观的认识,任何技术都有优劣,有适合和不适合。比如微服务,虽然有很多优点,但要想落地好,也需要在应用运行基础设施、工具链、可观测上有完善的配套支撑。比如把应用拆成很多细粒度的微服务、都使用独立的数据库、数据的同步、全局状态/事务管理、大量微服务之间的依赖管理和可视化等等,都需要有相对应的软件和服务,才能充分发挥微服务的优势。
所以无论是Serverless还是微服务,技术选型时主要还是从场景和团队两个维度出发。
从场景来看,今天Serverless在APIserving、微服务、Web单体应用、基于事件驱动的数据处理、离线批处理任务等场景已经很成熟,在研发效率和成本上都有优势。
从团队的角度看,我认为任何团队或者个人,都需要搞清楚重要的事情是什么,把精力聚焦在重要的事情上。如果没有非常强的基础设施团队来构建自己的应用运行平台,以满足业务需求为导向,那么选择Serverless是比较合适的。
除了计算,用户也可以为他的微服务应用选择Serverless或者非Serverless的产品。比如可以自己搭建数据库,也可以选择全托管,Serverless产品的数据库。同理,用户可以在Serverless平台上运行微服务架构应用,也可以运行单体架构应用。所以这是两个正交的概念。
但确实,我认为Serverless和微服务架构配合是更好的。因为微服务架构背后蕴含的松耦合,更细粒度的开发和运维发布边界,更敏捷的应用发布频度等理念,和Serverless弹性、轻量、端对端集成的特点非常合拍。
比如应用采用微服务架构后,在开发调试,流量控制,负载均衡和容错处理,可观测性等方面都会面临挑战。这里面有很多部分都被Serverless平台内置的能力简化了,比如Serverless平台内置了流控、多维度自动伸缩,负载均衡和容错,能够很好的支撑Stateless应用的弹性高可用。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。