Skip to content

hydgladiator/Takin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Takin

LICENSE Language

English / 中文

What is Takin?

Takin is an Java-based, open-source system designed to measure online environmental performance test for full-links, Especially for microservices. Through ArchGuadian, middlewares and applications can identify real online traffic and test traffic, ensure that they enter the right databases.

Why should we do online environmental performance test

Microservices Architecture is used commonly nowadays and it always make system complex to understand for humans. Moreover, businesses are also very complex in huge system. Business complexity and system complexity make it difficult to :

  • Keep entire system highly available
  • Maintain Research & Development efficiency.

In order to keep system high available, we usually make performance test on test environment or online single-service. However, test environment is very different from online environment, single-service can't stand for the whole service-links. They can't guarantee system performance.

Microservices Are Complex
Compare with monolithic application, Microservices architecture increases complexity for business system. It may maintain multiple tools and frameworks.

Business Systems Are Complex
Businesses involve different sections and many of them are long-process and complicated, such as E-Commerce businesses.

The Microservices Relation Is Complex
In a microservices architecture system with a lot of business services, the calling relation between services is very complicated. Every change may affect the availability of the entire system and make developers difficult to release new versions Frequently.

Quick Start Instruction

docker:

  • VM memory requirement : more than 4G (Suggest 8G)
  • Docker mirror size : 1.8 G

If docker configuration doesn't set AliYun docker source :

vim /etc/docker/daemon.json

Add following configuration:

{
  "registry-mirrors": ["https://q2gr04ke.mirror.aliyuncs.com"]
}

restart service

systemctl daemon-reload

Pull docker

# docker url : registry.cn-hangzhou.aliyuncs.com/shulie-takin/takin:v1.0.0
docker pull registry.cn-hangzhou.aliyuncs.com/shulie-takin/takin:v1.0.0
docker run -d -p 80:80 -p 2181:2181 -p 3306:3306 -p 6379:6379 -p 8086:8086 -p 9000:9000 -p 10032:10032 -p 6628:6628 -p 8000:8000 -p 6627:6627 -p 8888:8888 -p 29900-29999:29900-29999 registry.cn-hangzhou.aliyuncs.com/forcecop/forcecop:v1.0.0
  • Parameter:-d start in background,-p port.
    The Initiation of docker need about 10 mins because it need install necessary components. -d can ignore installment information of components in background. If you dont't want to open your server's port, you can use --net=host and make sure it and host server are in the same network。
  • Modify the IP address of the index.html file to the server's local IP address.
    # Enter Docker
    vi /data/apps/dist/tro/index.html
    # Modify serverUrl to the server's local IP address
    # Restart Nginx:
    nginx -s reload
    
  • Modify sugre-deploy configuration:
    Kill surge-deploy application
    nohup java -jar surge-deploy-1.0-jar-with-dependencies.jar '{"172.17.0.2":"Your own IP"}' > surge.out  2>&1 &
    Modify the Ip to your own IP, and restart.
    
  • Open http://127.0.0.1/tro
    Default account and password:
    account:admin  
    password:pamirs@2020
    
  • PS:If Nginx shows 502, the problem mostly is caused when the docker container has just been started, you only need to configure it correctly, and then wait a little (1-2 min) while to refresh and try again.

after installation:

Instruction

Takin Architecture


Takin consists of Agent, Web App and Surge Data.

Agent

see Agent

Surge Data

see surge-data

Controller Platform

see takin-webapp

Community

Mailing List: Mail to shulie@shulie.io
Wechat group

QQ group: 118098566
QR code:

Dingding group:

WeChat Official Account:

Ask Questions in Official Forum

Official Forum

Who use Takin

image

License

Takin is under the Apache 2.0 license. See the LICENSE file for details.