This is a creation in Article, where the information may have evolved or changed.
Objective
Golang, an open-source, statically compiled programming language released by Google in 2007, has its own uniqueness in the handling of garbage collection, structure types, and concurrent programming, becoming one of the fastest-growing programming languages in recent years.
Presumably everyone has already heard of the name of Golang, and today, the author of the fungus is prepared through one of their own open source project Gocollaborate as an example, to introduce how we use Golang rapid development of high-performance server cluster, and apply it to the energy network, quantitative transactions, blockchain, Machine learning and so on big data computing scenarios.
What is Gocollaborate?
Many students see here may ask, this framework what? What am I going to do with it?
Nutshell
Gocolaborate is a lightweight, universal framework for distributed service management that you can easily program, build extensions, and create your own high-performance distributed services.
The students with relevant experience may have heard of Apache Hadoop, Ali's Dubbo and Facebook Thrift, a set of tools is not feeling dizzy? It doesn't matter, let's just think of it as a lightweight Hadoop for the time being, as the tutorial unfolds, let's experience the magical charms of Golang.
Catalog (in progress ...)
- Initialize Project structure
- Start the command line
- Log module setup
- Local function Management
4.1. Function Registration
4.2. Function calls
4.3. function execution return value monitoring
4.4. Hash function
- Server Core Module Building
5.1. Master-worker mode
5.2. Task definition and priority scheduling mechanism
5.3. Custom Task Runtime Environment Taskcontext
5.4. Task Publisher publisher's design
- Application of RPC communication mechanism
6.1. Network address Management
6.2. Synchronous communication
6.3. Task Distribution and asynchronous invocation
6.4. Mapping table map Process Security Design
- Restful Frame Design
7.1. JSON API Standard
7.2. Application of JSON Schema
- Micro-Service framework construction and management
8.1. Initialization of the Service
8.2. Service Registration and subscription
8.3. Micro-Service Routing design
- The realization of Map-reduce
9.1. Mapper interface
9.2. Reducer interface
- Memory management and garbage Collection mechanism
Here the author of the fungus is also said off-topic, saying there are words, Rome cold day, Gocollaborate community needs to rely on the strength of everyone to continue to grow, welcome to the star, welcome to fork, more welcome to the shrimp Submit code OH ~