My IoT Project (3) Platform Architecture

Introduce the current supporting members of the entire software development team

Skills Number
android 1
ios 1
front-end 1
artist 1
java 2
and above is the staffing of our project. In addition to the management of the project, I am more about business requirements, system architecture, Platform construction, and then at most half of the developers involved in writing code.



1. System Architecture

From the previous description of business requirements, to the current staffing configuration, and the time schedule requires two months to produce products, in terms of technical architecture selection, the first consideration is that it is a single-mode architecture, and traditional MVC development is adopted. Mode, java developers are the core responsibility of the entire project, project management uses maven, the operation platform UI uses jquery easyui, which is easy to use, the background uses springMVC+mybatis, the database uses mysql, and the app uses Native language development, WeChat front-end page is designed by the artist (including app), the front-end is cut into html, and handed over to java development, the whole division of labor is probably like this.



The project structure is as follows:

project name description
orange-parent defines the basic information of the entire project basic group, dependent plug-in information, and custom information
orange-framework defines spring curd, rest service, MVC and other base classes and templates
orange-core core project (dao , entity, mapper)
orange-utils rich common toolkit
orange-redis distributed cache redis component
orange-serviceweb business interface, mainly connected to app
orange-wechat WeChat platform
orange-adminweb operation platform
orange-mqtt mqtt protocol component


Second physical architecture

All infrastructure servers prefer Alibaba Cloud, I am not for Alibaba Cloud Advertising, if you have to think that I am advertising, please choose my lucky roll when you buy a server on Alibaba Cloud (haha). If you have any questions about server selection and deployment, you can come and discuss with me. The address of the lucky roll :

https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=5gg22qjx&utm_source=5gg22qjx

Closer to home, Alibaba Cloud is a better choice for entrepreneurial Internet projects like this. I am not only referring to the ECS server provided by Alibaba Cloud, but also the complete set of solutions provided by Alibaba Cloud. For example, if we want to do a tomcat cluster, we may need to install nginx. If nginx needs to be highly available, we have to automatically switch between the master and slave hot standby through keepalive. With just such a set of configurations, you need several servers. It is not necessarily stable, and there is no visual console to monitor various indicators, but in Alibaba Cloud, you don't need to spend all this time to get these, just buy an SLB load balancer, and it's cheap. Another example is the database mysql. Even if you don’t do clustering in the early stage, you have to do high-availability on the main and standby. If two mysqls are used for high-availability, you need keepalive or haproxy. After such a set of configuration, the cost is not low. To be honest, I think the early configuration of Alibaba Cloud database RDS is cheaper and more convenient under the same conditions. After all, RDS mysql itself also comes with a console that can easily monitor various parameters and troubleshoot problems. The configuration upgrade of Alibaba Cloud database RDS in the later stage is indeed The cost is expensive. At this time, it is advisable to build a database cluster with some cheap servers. Of course, this is another story. There is also a file server that needs a server even if it is built with fastdfs. In general, it is still not cost-effective.

Platform ECS configuration:

project name description ECS server SLB load balancing
orange-adminweb operating platform background 1 4-core 8G5M
orange-mqtt mqtt intermediate platform 2 4-core 8G5M 1 active/standby 5M
orange-serviceweb core business layer 2 4-cores 8G5M 1 active/standby 5M
orange-wechat WeChat business 1 4-core 8G5M platform



Database configuration: High availability general-purpose 4-core 8G platform

Redis configuration: 4G master-slave version , continue to upgrade later (to be honest, this is the same as RDS, the more expensive it is to upgrade the configuration later)





Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326316062&siteId=291194637