MyException - 我的异常网
当前位置:我的异常网» PHP » 云应用也可以像搭积木同样搭出来你造吗

云应用也可以像搭积木同样搭出来你造吗

www.MyException.Cn  网友分享于:2013-08-22  浏览:0次
云应用也可以像搭积木一样搭出来你造吗?

开发一个应用,然后部署运行,并在需要的时候对其进行扩展,满足不断增长的用户需求。这样的做法想必你已经耳熟能详了。过去几十年来,几乎所有应用开发者和运维人员的日常都是这样。

这种方式开发的程序也叫单一式(Monolithic)应用,需要将整个程序的所有功能作为一个整体运行在一个或多个服务器/虚拟机/容器中,并以整体的方式对整个服务器/虚拟机/容器进行扩展。

但是,你想看到的「但是」终于出现了。

这种方式开发的应用,内部不同组件和分层之间是紧密耦合的。简单来说,一个应用中可能包含不同功能,例如验证用户身份、接受用户请求、处理请求、返回处理结果……所有功能都由不同组件负责,所有组件都紧密「团结」在一起。

这就导致我们无法单独对其中的某个组件进行缩放,只能以整体的方式进行扩展整个应用,可其他组件也许并不需要扩展啊!

此外如果要对某个组件进行更新或升级,为确保整个应用能在升级后正常运行,还必须对其他所有组件进行充分测试,那么整体的应用升级工作就且等着吧……

「不折腾不舒服斯基」的聪明人开始考虑:如果将这些组件拆分成单独的「构建块」,应用的开发者只需要根据具体需求,选择所需构建块,然后搭建出自己需要的应用呢?

  呐,微服务「积木」请收好,需要啥应用自己随意搭吧

 

 

这就是目前业界流行的微服务(MicroServices)应用设计方式了。

这种方式会将单个功能分隔成小规模的服务,这些服务也运行在服务器/虚拟机/容器中,每个服务可单独进行测试、版本控制、部署和缩放,不同服务之间可通过标准协议和妥善定义的接口彼此通信。

举个形象的例子:每个微服务可以看作一块「积木」,分别承担不同的功能,例如上文提到的身份验证、请求处理、结果返回等。而开发者可以根据具体需求选择不同的「积木」,通过标准的协议和通信接口连接在一起,然后,一个云应用就这样开发完成了!

 

相比传统的单一式应用,微服务应用具备很多优势。例如,组成一个应用的任何微服务都可以按需更新、升级、调整和缩放,借此更快速地为应用提供新的功能。此外开发者可以根据每种微服务的具体需求和特征,选择最适合的语言来开发不同的微服务,并用这些微服务搭建出最终的应用。

 Service Fabric 的帮助下,用户可以进一步简化基于微服务的应用程序部署和生命周期管理:

  • 快速上市:开发者无需考虑基础架构可靠性、可伸缩性或性能延迟等问题,可将重点放在创建为应用程序增加商业价值的功能上。

  • 灵活选择体系结构:按需创建无状态或有状态的微服务,为复杂的低延迟数据密集型方案提供支持,并将其扩展到云端。通过这种方式构建的应用,不仅可以运行在 Azure 云端,也可以运行在本地,支持以 Windows 或 Linux 作为平台,甚至可以跨越不同环境构建混合式应用。

  • 灵活性:借助微服务应用实现持续集成和持续开发实践,并加速新功能到应用程序的交付。

  • Visual Studio 集成:通过 Visual Studio 工具和命令行支持,开发者可针对单独部署、测试部署和生产部署快捷并轻松创建、测试、调试、部署和更新其 Service Fabric 应用。

Service Fabric 已成为微软自己的一项基础性技术,基于此技术,我们可以运行 Azure 核心基础结构,并已成功运用在 Skype for Business、Intune、Azure 事件中心、Azure 数据工厂、Azure Document DB、Azure SQL 数据库以及 Cortana 等微软服务中

最近,Linux 上的 Service Fabric 公共预览版已正式发布。用户可以按需通过 Windows 或 Linux 构建、部署和管理可高度伸缩的高可用性应用程序。除了 C# (.NET Core),Service Fabric 框架(Reliable Services 和 Reliable Actors)还支持 Linux 上的 Java。该预览版还可支持安排 Docker 容器。

 

一起体验 Service Fabric 的犀利之处吧

目前我们可以在 Windows 和 Linux 平台上进行 Service Fabric 应用开发。

首先需要准备好开发环境:Windows 平台Linux 平台

随后,即可试着开发你的第一个 Service Fabric 微服务应用程序了。

你可以在 Windows 上用 C# 开发,或者在 Linux 上用 Java 开发,或者也可以在 Linux 上用 C# 开发,还可以将应用部署到本地群集上。

就是这么灵活,就是这么任性!

立即访问http://market.azure.cn

文章评论

什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
10个调试和排错的小建议
10个调试和排错的小建议
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
每天工作4小时的程序员
每天工作4小时的程序员
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
程序员应该关注的一些事儿
程序员应该关注的一些事儿
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
旅行,写作,编程
旅行,写作,编程
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我的丈夫是个程序员
我的丈夫是个程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
总结2014中国互联网十大段子
总结2014中国互联网十大段子
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
代码女神横空出世
代码女神横空出世
老程序员的下场
老程序员的下场
那些争议最大的编程观点
那些争议最大的编程观点
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序员的鄙视链
程序员的鄙视链
程序员必看的十大电影
程序员必看的十大电影
我是如何打败拖延症的
我是如何打败拖延症的
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
如何成为一名黑客
如何成为一名黑客
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员都该阅读的书
程序员都该阅读的书
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员和编码员之间的区别
程序员和编码员之间的区别
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
 程序员的样子
程序员的样子
鲜为人知的编程真相
鲜为人知的编程真相
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Java程序员必看电影
Java程序员必看电影
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
漫画:程序员的工作
漫画:程序员的工作
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有