基于webapi的移动互联架构
又到了一年最后一次上班了,写下这篇日志作为本年总结。
首先总体介绍一下项目背景,今年公司开发了一款app,本人一个人负责app的接口服务、微信开放平台搭建以及系统后台,上线半年,如今活跃用户数3W+。本文重点记录目前项目的架构。
大概架构图如下,初次作图,可能不太准确,下面详细说明。
一、DB层
DB很简单,直接一台sql server2008,服务以及系统后台都直接连接DB,目前是一台单独的数据库服务器。
二、服务层
由于是.net出身,所以采用.net web api为android和ios提供服务,里面自己写了限流、加密、gzip压缩、https等。
加入了公用缓存机制,为服务与系统后台提供缓存服务。缓存不光减轻了DB压力,还便于以后使用负载均衡。(memercached,redis都是可行的)
独立的文件服务器,考虑到以后文件肯定很多,所以把文件服务器独立出来,服务、系统后台、移动端都可访问。(可以使用fastdfs)
搜索引擎,目前这个只在计划中,还未实现,目前搜索还是会查库,考虑到将来这块会成为一个瓶颈,所以计划加入搜索引擎(sphinx,lucene.net都可以)
目前服务和后台都在同一台服务器上。
三、移动端和web端
移动端目前有android和ios,使用json与服务传输数据,不常变更数据缓存在本地。
web端有微信公众平台和系统后台。微信端与移动端一样,也使用jsong与服务传输数据。
写完了,其实没什么干货,只是看贬低.net的太多,发出来证明用.net作为移动互联的后台是没有问题的,再进一步扩展也是很方便的。
基于webapi的移动互联架构的更多相关文章
- 建筑材料系统 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发
框架介绍: 1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性 ...
- 分享我们项目中基于EF事务机制的架构
写在前面: 1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库. 2. 本文中的单元测试都是正确通过的. 要理解EF的事务机制,首先要理解这2个类:TransactionSco ...
- 基于netty的微服务架构
基于netty的微服务架构 微服务一篇好文章 http://san-yun.iteye.com/blog/1693759 教程 http://udn.yyuap.com/doc/essential-n ...
- 基于 WebAPI 的 API 实现
本文基于 WebAPI OData (微软发起的一个格式标准,其中一个比较有意思的是可以直接在 Excel 中填入 API 就可以展示了) Swashbuckle.OData(把 API 生成一个测试 ...
- 新项目架构从零开始(三)------基于简单ESB的服务架构
这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...
- 分享我们项目中基于EF事务机制的架构 【转载】
http://www.cnblogs.com/leotsai/p/how-to-use-entity-framework-transaction-scope.html 写在前面: 1. 本文中单元测试 ...
- 基于 Docker 的微服务架构实践
本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...
- 配置percona mysql server 5.7基于gtid主主复制架构
配置mysql基于gtid主主复制架构 环境: 操作系统 centos7. x86_64 mysql版本:Percona-Server-- 测试环境: node1 10.11.0.210 node2 ...
- 前端调用后端的方法(基于restful接口的mvc架构)
1.前端调用后台: 建议用你熟悉的一门服务端程序,例如ASP,PHP,JSP,C#这些都可以,然后把需要的数据从数据库中获得,回传给客户端浏览器(其实一般就是写到HTML中,或者生成XML文件)然后在 ...
随机推荐
- 资源描述结构(Resource Description Framework,RDF)
资源描述框架(Resource Description Framework),一种用于描述Web资源的标记语言.RDF是一个处理元数据的XML(标准通用标记语言的子集)应用,所谓元数据,就是" ...
- WinHttp
using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...
- 佛祖保佑 永无bug
/* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : | ...
- .技术参数图用pillow自动处理
python 2.7 pillow 安装python2.7.10(自带pip),修改豆瓣源,下载pillow
- MySQL备忘
Access denied for user 'root'@'localhost' >> 执行以下语句 GRANT ALL ON dbname.* TO 'root'@'localhost ...
- form 表单跨域提交
<!DOCTYPE html><html> <head> <title>form 表单上传文件</title> <script src ...
- 自定义webkit浏览器滚动条样式
::-webkit-scrollbar { width: 5px; height: 5px; } ::-webkit-scrollbar-track { background-color: trans ...
- PHP安装kafka插件
在工作中我们经常遇到需要给php安装插件,今天把php安装kafka的插件的步骤整理下,仅供大家参考 1:需要先安装librdkafka git clone https://github.com/ed ...
- C# 全角和半角转换以及判断的简单代码
在C#中判断和转换全角半角的方法 1. 判断是否为全角半角 全角占用二个字节 半角占用一个字节 用string.length 和System.text.Encoding.Default.GetByte ...
- js自动轮播图片的两种循环方法(原创)
用5个div,布局从左到右5张图片,从左到右5个div分别指定ID为img1,img2,img3,img4,img5.(背景是relative,5个div是相对于背景absolute定位) 显示如下: ...