本文介绍一种部署在azure 上.net 应用的一种常用架构
对接者。这个角色可以是Api GateWay或代理或负载均衡器。目的有多方面,集中管理机器的注册和监控,安全,负载均衡,请求过滤,反向代理等等。总之是将机器共有的抽象出来进行集中管理:负载,安全,缓存等。
App 服务。应用的主体,通常包括Api和Web,前者给手机端提供服务后者给web页面提供服务。也可以创建worker(和azure queue配合使用)来处理一些长时间运行的任务。
消息中间件。Azure queue是常见的选择。可用于存一些(长时间)任务请求或临时排队信息来供worker处理。
redis缓存。系统读操作。
sql server DB. 读写分离。读数据库也可以连接外部数据源进行ETL采集数据。master数据库对于应用的写操作,另外就是history db,历史数据库,根据业务的不同,可以对N个月,X年之前的数据进行归档。
blob存储。主要是媒体信息,图片,文件,音频视频等。
azure table。可以用于event sourcing(如果是CQRS的架构)也可以存一些系统相关的参数。
CDN服务。(web 前端使用的)静态资源,html css js,图片等。
通知服务。邮件服务器,短信服务,google 消息服务,apple的apns,主要用于消息通知。可使用azure notification hub完成。
这个架构算是部署在azure的.net应用一个“原型”,不同的业务可能会有不同。
对接者。这个角色可以是Api GateWay或代理或负载均衡器。目的有多方面,集中管理机器的注册和监控,安全,负载均衡,请求过滤,反向代理等等。总之是将机器共有的抽象出来进行集中管理:负载,安全,缓存等。
App 服务。应用的主体,通常包括Api和Web,前者给手机端提供服务后者给web页面提供服务。也可以创建worker(和azure queue配合使用)来处理一些长时间运行的任务。
消息中间件。Azure queue是常见的选择。可用于存一些(长时间)任务请求或临时排队信息来供worker处理。
redis缓存。系统读操作。
sql server DB. 读写分离。读数据库也可以连接外部数据源进行ETL采集数据。master数据库对于应用的写操作,另外就是history db,历史数据库,根据业务的不同,可以对N个月,X年之前的数据进行归档。
blob存储。主要是媒体信息,图片,文件,音频视频等。
azure table。可以用于event sourcing(如果是CQRS的架构)也可以存一些系统相关的参数。
CDN服务。(web 前端使用的)静态资源,html css js,图片等。
通知服务。邮件服务器,短信服务,google 消息服务,apple的apns,主要用于消息通知。可使用azure notification hub完成。
这个架构算是部署在azure的.net应用一个“原型”,不同的业务可能会有不同。