Billion Mutual gold platform technology stack Big Bottom

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed.

The technology stack (technology stack) is a company's perspective mirror, to some extent, can show the company's technical strength. From the technical buyers can also see the entire platform of technical elements, platform size scale, and so on, today to share our technical family barrels.


General overview

Idle to have nothing to think about can also summarize what, platform architecture, accident resolution, etc. have been written before, this time mainly write we have used those techniques. I have five pieces of content to introduce our technology stack: Front end, back end, middleware, operations and tools. Draw a mind map to facilitate the overall preview of everyone.



Click here to see the big picture

Next, let's start.

Front


Our front-end is relatively simple mainly divided into three pieces: PC front-end, mobile, template engine.

    • PC front-end mainly uses H5, JS, there are many other components, but the previous two dominated. A small amount of use of ANGULARJS, the final effect is not particularly good, give up
    • Three pieces of mobile end: Android, IOS, WAP. Android mainly in the Java language, and now slowly in the consideration of Kotlin;ios to Objective-c-based, a small amount of use swift;wap also known as H5, or mobile browser, is also using HTML5, JS, a small amount of use of Vue, H5 side of some JS components and PCs will be different, generally have a corresponding substitute for example: use Zepto instead of jquery.
    • The template engine has been using beetle for a long time, and a lot of springboot after replacing it with the thymeleaf,thymeleaf experience is good.

Back end

Back end to the development of the language of the angle to introduce you


The development languages used by the backend are: PHP, Golang, Python, and Java.

    • PHP Our company's front-end site is the use of PHP development, the framework is mainly used thinkphp, small projects experimental use of laravel.
    • Golang is mainly used for big data, using the gin framework, using Beego to do a background.
    • Python has not been used in the company, write their own small reptile play.
    • Java Company's main development language, core systems, support systems, service components are used in Java development, the following details.

Java technology Stack is more, here selected a few representative:

    • Spring does Java development, almost inseparable from the spring family barrels, do not need to introduce more.
    • Alibaba Ali This two years very good, also open source a lot of things, mainly used Dubbo and Druid, are very good.
    • Apache If the Java can not be inseparable from spring, so development is inseparable from Apache, we mainly use Commons, CXF, Zookepper and so on.
    • The ORM framework is basically mybatis, hibernate and JPA as a supplement to the model.
    • Quartz quartz used for timed tasks

Middleware

This is a relatively generic set of middleware, the related components are also included, mainly divided into: databases, web containers, messages, caches, file servers and security.


    • The database business mainly uses MySQL, needs to run the batch statistic the offline data to be synchronized to the MongoDB by the Tungsten replicator.
    • Web container PHP uses the Apache,java used by Tomcat, the static resource agent is using Nginx
    • The message was first used ACTIVEMQ, and later the schema upgrade was completely replaced with RABBITMQ
    • Cache full-scale control uses memcached, and the backend service cache uses Redis
    • File server was the first to use Nginx image Server, later on-line contract on the full use of Fastdfs
    • Secure HTTPS certificate guarantees transmission security, Shiro do permission control, OAuth does login authentication.

Operation and Maintenance

Operations is the platform's lifeline, divided into six parts: monitoring, Load Balancing, CI (continuous integration), servers, automated deployment and networking


    • Monitoring mainly uses Zabbix to monitor the server's metrics, using a small number of shell scripts and crontab
    • The load uses the VIP to do a balanced load, namely LVS.
    • The CI continuous integration tool mainly uses Jenkins. Java relies on MAVEN-based, Gradle small use, version-controlled SVN, and a small amount of git
    • Most server-on-line servers use CentOS 6.5. Few use 7.0. The test environment uses vsphere to virtualize
    • Automated deployment This piece is still in the study, the alternative is: Puppet, Ansible, Saltstack.
    • Network analysis using Wireshark

Tools

Good tools can make work more efficient and save a lot of time. There are five dimensions of development, testing, database, drawing, and operations


    • Developing Java's Common development tools: Eclipse and idea. Eclipse was used for the first two years, but Eclipse was not friendly to spring boot support, and later the full use of idea;php development tools was much more, our developers mainly use Phpstorm and Zend, integrated environment using UPUPW The front end uses Xcode with Webstorm and Sublime3;golang development tools Liteide,ios.
    • Test automation test Tools Selenjum, performance testing using JMeter or LoadRunner, developers generally use jmeter. The interface test uses postman, the mobile side test uses appiumforandroid and Appiumforios, and the Capture tool uses Firebug, Minisniffer, and Fiddler.
    • Database MySQL Database visualization tool commonly used navicat, production use workbench, few developers use SQLyog and phpMyAdmin. MongoDB uses Mongovue, table design with PowerDesigner.
    • Drawing schema diagrams are designed to use Visio and have tried ProcessOn; mind maps use Xmind.
    • Operational maintenance tools use XFTP or SECURECRT

All the examples in this paper are used Xmind, the students who need the original picture, please reply in the public number: Xmind.

Mutual Gold Article series:

    • From zero to billions the history of Internet financial architecture
    • An optimization experience of a production accident
    • A tragedy caused by a DNS cache
    • A script-induced massacre
    • Internet Finance vs Hacker
    • Tens of billions of mutual gold platform fire story
    • How to make a reconciliation system

Like my article, please follow my public number


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.