[Reprint] Alibaba JAVA project

Author: Programmer small yellow
link: https: //www.zhihu.com/question/352924285/answer/971851263
Source: know almost
copyrighted by the author. Commercial reprint please contact the author authorized, non-commercial reprint please indicate the source.

the best java skilled operator Alibaba, he can very much java project.

First, the frame

Web-REACT: Readt Web is built for those React Native API uses a compatible Web application framework provided. React Web purpose and meaning is clear: let React Native code is run on the Web so that one set of code to run on various mobile terminals, for front-end and business, this is the development of a qualitative improvement in efficiency.

Jstrom: JStorm is calculated by reference framework for real-time streaming of the storm, the network IO, threading model, resource scheduling, availability and stability made continuous improvement, it has been used more and more enterprises. After four years of development, Alibaba JStorm clusters have become one of the world's largest cluster, based on the number of applications JStorm of more than 1000. Data show that the number of messages per day to achieve the clustering JStorm 1.5PB. In 2015, JStorm became Apache Storm in the subprojects. JStorm will hatch in Apache Storm, the rear hatch success will be the Apache Storm trunk. Apache Foundation official said he was delighted to become a JStorm Apache Storm community.

Dubbo: High performance excellent service frame, so that the application can realize output and input functions and services through the RPC performance, can be seamlessly integrated with the Spring Framework. Dubbo is a distributed, high performance RPC framework enpowering applications with service import / export capabilities.

Kissy: KISSY is a cross-end, modular, simple, high-performance, using JavaScript framework. In addition to a complete set of tools such as DOM, Event, Ajax, Anim, etc. It also provides a classic object-oriented, dynamic loading, performance optimization solutions. As a full-terminal support JavaScript frameworks, KISSY done a lot of adaptation and optimization for the mobile terminal, the user program can run smoothly in the whole terminal.

Dexposed: Dexposed is a powerful non-invasive AOP framework runtime for Android application development. It is based on a famous ROOT community open source projects Xposed of some of the results, and evolved into its own application to serve where the AOP framework. It currently supports most of Ali App minute online class client bugfix and online debugging capabilities.

TDDL: TDDL (Distributed Taobao the Data Layer), Taobao has developed a framework according to their operational characteristics, mainly to solve the sub-library sub-table for data replication between heterogeneous database and application transparency, which is based on a centralized configuration the jdbc datasource achieved, the main and backup, separate read and write, the dynamic database configuration functions.

WEBX: WEBX WEB is to establish a common framework based on the Java Servlet API. Applications built with Webx can run on any standard WEB application server above: Tomcat, Jetty, Jboss, Weblogic . Webx Spring Framework is based on the classic WEB MVC design pattern, and may be extended to other components. Webx not only can be used to develop highly customizable Web applications, it can also be used to help users to develop highly scalable non WEB applications.

Magix: Magix is a large front-end MVC framework for building rich interactive applications in a single page.

The Brix: the Brix is a component-based framework KISSY (PC side) and Zepto, SeaJS the like (movable end) of the application layer underlying library.

Canvax: Canvax is a small, lightweight canvas graphics framework, which uses the same Flash AS3 mode to draw abstract elements

Plover: Plover is a focus on modular way of building web applications NodeJs MVC web framework. Unlike other web framework, which provides a complete and modular application model allows complex business functions can be easily abstracted into a plurality of modules independent development mode, so that the application can take the product object of the embodiment as assembled from modules.

Second, the components

Druid: Druid Java language is the best database connection pool. Druid can provide a powerful monitoring and extensions.

FASTJSON: FASTJSON is a very good performance of the Java language implementation of JSON parser and generator.

Macaroon: macaroon is an efficient reverse proxy Test Suite python2.7 developed based on the frame itself, to facilitate cross-platform; Test Example using the format described, to do the programming language independence. Reconstruction and software under test (DUT) using Macaroon able to complete simple and quick test scenario structure, functional line failure case, modules, protocol conformance testing.

Uploader: Uploader is a very powerful asynchronous file upload component that supports ajax, iframe, flash three programs to achieve full compatible browser, calls are very simple, built-in support for multiple sets of themes and common plug-ins, such as authentication, image preview, schedule strips.

AliJVM: AliJVM based on OpenJDK HotSpot VM, is the first domestic optimized, customized and open-source version of the Java virtual machine server. Now in Taobao, Lynx on the line, replace all the official Oracle JVM version, in terms of performance, features are initially reflects its value.

KCharts: KCharts is based Svg charting component library, compatible with IE6 + and other mainstream browsers. Js frame based Taobao KISSY graph component library, comprising a line chart, a graph, a bar graph, scatter, pie charts, maps, charts and other commonly used.

TFS-nginx: nginx-TFS TFS is Nginx expansion module to access the file system for Taobao.

the Thread-local-transmittable: transmittable the Thread-local-Ali is developed using Java components for the multi-threaded.

HTTP-sysguard-nginx: nginx-HTTP-sysguard Alibaba developed a Nginx module, used to protect the system load and memory usage running Nginx server is not too high.

java-dns-cache-manipulator: a coding method Setting / Viewing the JVM DNS (actually set is the DNS Cache), supports JDK 6+, support IPv6.

Third, the engine

Velocity.js: Velocity.js is based on javascript velocity template syntax implementation. It has support for client and server-side use, supports Node.js environment, Vim syntax support and other functions, with rich logical grammar, parsing and template rendering separation characteristics.

Qlexpress: Quick Laconic Express is a simple and efficient dynamic grammar class java script engine.

Simple EL: Simple EL is an expression parsing engine. Analytical expression divided into four parts: preprocessing, compilation, caching and execution. The four steps of any part can be replaced, Template Method similar design mode.

XTemplate: XTemplate rich logic is independent of template engines, browsers and Node.js scalable libraries based template engine.

nQuery: nQuery engine is the middle layer of the data from Ali, mainly in response to three major problems online big data scene query: data length, width data, miscellaneous data, extensive reference Big Query, Impala, PL / SQL , MySQL, PgSQL, , etc., with its own business characteristics, self-designed, implemented a SQL-like language (nSQL) and resolution, the execution engine.

Velocity-min: min velocity-code generator is designed for a customized template engine velocity simplified. Its goal is to velocity 1.7, based on a cut suitable for use as code generation template engine.

Fourth, the database / storage

AliSQL: AliSQL is based on a branch of the official version of MySQL, Ali cloud database maintained by the team, it is also used in the Alibaba Group, Ali cloud services and database services. This version has done a lot of optimization on the basis of MySQL Community Edition on the performance and functionality improvements. Especially suitable for electricity providers, cloud computing environment, and financial industries. AliSQL version on the strength and breadth have experienced great test. The latest version of AliSQL not only from other open source such as branches: Percona, MariaDB, WebScaleSQL other community learn from the best, but also precipitated the Alibaba years of experience and solutions in the field of MySQL. AliSQL add more monitoring indicators, and for the electricity supplier spike, things big data compression, data security and other financial scenarios to provide personalized solutions. "In general benchmark scenario, AliSQL version has a 70% performance improvement over the official version of MySQL. In the spike scenario, the performance increase of 100 times."

OceanBase: OceanBase is a huge amount of data to support high performance distributed database system, hundreds of billions of records, interbank hundreds of TB of data on transactions across the table from Taobao core system research and development, operation and maintenance, DBA, advertising, application R & D and other departments to complete.

Tair: Tair is independently developed by the Taobao Key / Value structure of the data storage system, Taobao has a large-scale application.

TFS: TFS (Taobao the FileSystem) is a highly scalable, highly available, high-performance, distributed file system service-oriented Internet, which is designed to support the mass of unstructured data. At present, the domestic self-developed file system can be described as rare. Taobao made effective exploration and practice in this area, Taobao File System (TFS) as a distributed file system Taobao internal use, for the performance of random read and write access vast amounts of small files to do a special optimized.

AliRedis (open source program): AliRedis is to improve the depth of the team for less than Redis Ali appeared in the daily maintenance of the Redis made based on the original. Specifically, AliRedis multi-threaded master + N * work mode, and three kinds abandon the original model save, bgsave, aof etc. Using redisDB lock mode, in addition, it optimizes jemalloc, with large memory page.

Wasp: Wasp class Google MegaStore & F1 is distributed relational database. It is distributed, SQL support, and transactional databases.

The ADFS: the ADFS (Ali Distributed File the System) is an open distributed system optimization hadoop HDFS implementation, the memory data structure can be a single point in HDFS master namenode node synchronized to a high-speed disk storage medium, it can be provided based on the simultaneous high throughput and performance.

Fifth, the platform / system

Zeus: Zeus is a complete platform for Hadoop job scheduling tasks Zeus to support the entire life cycle from debugging to run Hadoop tasks to the cycle of production tasks.

DataX: DataX is widely used in the offline data synchronization Alibaba tool / platform, including efficient data synchronization between MySQL, Oracle, HDFS, Hive, OceanBase, HBase, OTS, ODPS other heterogeneous data sources .

Reliable: Reliable continuous integration system developed by the members of the distributed architecture of Macaca team. Node.js and it is written in Javascript, and MongoDD used as a data source, the Redis as a cache, as Docker operating environment, a cluster with a load, a reasonable allocation of providing plug-in mechanism, easy expansion, deployment is simple, easy to access and Gitlab Github community-based system, and Macaca seamless integration of features, making it suitable for integration build, build integration and other scenes.

Toast: TOAST (Toast Open Automation System for the Test) is a test Amoy advertising technology team developed an automated test task scheduling platform.

cnpmjs: CNPM Alibaba is developed by a private npm warehouse and web services.

:RubyGems Mirror Web page。

ali_kernel: In RHEL6 source codes on the basis of doing updates, as well as some new features added.

Sixth, the solution:

Hilo: a set of HTML5 cross-terminal interactive gaming solutions. Hilo supports multi-session & Taobao Lynx double eleven Carnival City and other large-scale marketing and daily activities. Minimalist core, providing a DOM, Canvas, Flash, WebGL other rendering scheme, and to meet the performance requirements of the whole terminal. Paradigm module supports multiple versions of the package as well as an open expansion, convenient access and expansion. It provides built and expanded support for 2D physics, skeletal animation.

Weex: moving end dynamic high performance, cross-platform mobile development solution, A framework for building Mobile cross- platform UI.

Macaca: Macaca is a complete automated testing solution, its features include support for mobile end and the PC side, supporting Native, Hybrid, H5 and many other types of applications and tools to provide client service and continuous integration.

F2etest: F2etest is a front-end-oriented, testing, product and other positions of the multi-browser compatibility testing overall solution. F2e test = Front to End Test = front-end test.

LuaView: LuaView a run in a ViewController / Activity, the load can be flexible Lua script and be able to develop a service-oriented technology solutions to run in accordance with the Native way.

Cube: Cube is a cross-terminal, responsive, low coupling CSS design solutions. The new module contains relatively independent foundation reset, layout, buttons, tools, fonts, icons, etc.

Beehive: Beehive is a framework for modular programming iOS App implementations, the idea of absorbing the Spring Framework API Service to implement the coupling between modules.

Seven Tools

Tsar: Tsar Taobao acquisition tool, mainly used to system information (such as cpu, io, mem, tcp, etc.) and application data (such as squid haproxy nginx, etc.) collection server, tsar support real-time visibility and historical view, easy to understand application and information about the server!

yugong: Alibaba to Oracle Data Migration Synchronization Tool (full amount + incremental target support MySQL / DRDS).

AndFix: AndFix, stands for "Andriod hot-fix", Ali is open source Android application of heat repair tool, designed to help Android developers fix the problem online applications. AndFix The principle is to replace the method body, currently supported platforms are Android 2.3 - 6.0, ARM and x86 architecture, dalvik run-time and run-time art.

tblive: tblive open source projects corresponding products are kn anchor, is a stand-alone PC end anchor tool to modify customized based on open source software OBS Studio, enhanced usability and functionality on the interaction, while the introduction of a unified landing sdk (UnifiedAuthSDK.dll) you can support validation and Bintang url stitching Taobao account, and can better support the Department of Amoy webview page.

canal: Incremental Alibaba binlog mysql database subscriptions and Consumer components.

RAP: through WEB GUI tools to help engineers more efficient management interface documentation tool. Mock it automatically generates data, verify the correctness of the analysis by real interface structure while managing the interface, making the interface document becomes strongly dependent on the development process. It is because of API data is structured, RAP can do more things for the user, in order to avoid further duplication of effort.

tclip: automatic facial recognition of image cropping project.

TProfiler: . TProfiler it is that one can simultaneously support analysis and sampling in two ways, time and frequency recording method execution, object creation method of generating hot hot thread state data analysis, performance analysis tools in a production environment long-term use, in order to find the system performance bottleneck provide data support.

Reviewboard-Tao: Tao-Reviewboard Taobao is based on the development of reviewboard eclipse plug-ins, can solve the problem of installation and use.

Mock.js: Mock.js is a simulation data generator designed to help front-end siege division independent of the back-end development, help write unit tests.

GateWay Flex: Flex GateWay provides VPN, SNAT basic services.

Sqlautoreview: Taobao open source is a SQL SQLautoReview automated audit procedures.

ossfs: ossfs is written in Perl-based aliyun OSS client's fuse. It allows users to Linux / Mac OS X system to Aliyun OSS bucket mounted to the local file system, allowing users to easily pass objects on the local file system operations OSS, sharing data.

Darko: Darko is a Site Builder tool written in Ali mother THX team, compatible with Jekyll, Jekyll installed on the platform inconvenient, you can try Darko.

Asyncload: Asyncload is an asynchronous parallel load tool (technology dependent bytecode). IO for common needs.

DragonBonesJS: DragonBonesJS is JS version DragonBones is DragonBones improved version. And DragonBones is an open source project supported by Adobe for production and broadcast skeletal animation.

otter: Ali Baba distributed database synchronization system (solve Sino-US off-site computer room).

Freeline: Freeline is a team of ants Treasure increment tailored on the Android platform development tools, support mPaas.

uirecorder: the UI test recording tools.

Eight, middleware

RocketMQ: "Message Queue (Message Queue, referred to as MQ) is Ali cloud business professional messaging middleware, enterprise-class architecture of the Internet's core product, based on distributed high availability clustering technology, including built a publish-subscribe message track resource statistics , time (delay), alarm monitoring a complete set of cloud messaging services .RocketMQ: MQ is the open source version. "

Cobar: Cobar is to provide a relational database (MySQL) distributed middleware services, it can make traditional database to get a good linear expansion, and still looked a database, remain transparent to the application.

Tbschedule: an asynchronous task processing system, the purpose is to be used to improve the user experience, and increase the transfer of the system can be expanded, because of its various advantages and features, Tbschedule large number of applications.

Nine, Web Server

Tengine: Tengine is sponsored by the Taobao Web server project. It is on the basis of Nginx, the demand for large traffic to your site, add a lot of advanced features and functionality, it is one of the world's nine major popular web server currently. Tengine performance and stability have been in large sites such as Taobao, Lynx Mall to get a good test. Its ultimate goal is to create an efficient, stable, secure, easy to use Web platform.

AnyProxy: AnyProxy based Node.js is a proxy server. A proxy server is a middleman, standing in the middle of the client and server, each bit of communication between the parties, it will leak through the ground. It controls the full request headers, request body, response headers, response body, intervention can handle all processes at the client and server are not aware of the situation.

Ten, design

Design-Ant: Ant Design is a commitment to enhance the "user" and "designer" experience in the station design language. It blurs the product managers, interaction designers, visual designers, front-end engineers, development engineers and other roles boundary, UE will design and UI designers collectively referred to as "designer" using a unified design specifications energized, improve the Taiwan R & D efficiency and product experience.

Guess you like

Origin www.cnblogs.com/jinanxiaolaohu/p/12233638.html