티스토리 뷰

카테고리 없음

Retriever 프로젝트

기루광 2017. 12. 2. 23:01


시스템 인터페이스 관련 일들을 진행하다 보면, 

생산자(Producer)로 부터 오는 정보를 이용하여 소비자(Consumer) 로 바로 넘겨주지 못하고,


대부분 오는 정보를 이용하여 무언가를 덧붙이고 수정하여 넘겨주게 됩니다.



그래서 agent 를 만들어서 필요한 정보들을 파싱하고 더 필요한 파일들을 모아서 

소비자(Consumer)가 쓰기 편한 형태로 제공합니다. 



이런 작업을 하는 agent 를 retriever 라고 사냥개 이름에 빚대서 

생산자로 부터 넘어온 데이터를 이용하여 원하는 정보들을 잘 물어오는 agent 를 만들어보겠습니다.



언어 : C++

DB : MySQL

Message Queue : RabbitMQ


코드는 아래 Git을 통해서 통해서 업데이트 하겠습니다.


https://github.com/elentail/BGMs/branches






진행사항은 대략적으로 아래 업데이트 하도록 하겠습니다.


 


1. Message Queue 설치 (RabbitMQ server)

 작업을 분배하는 message server 는 아래 설치과정을 보시면 알겠지만, 단 10 분이면  설치 가능합니다.





Last login: Tue Dec  5 20:49:45 2017 from 175.115.214.213

#1.  rabbitmq-server  설치
roadking@gcloud:~$ sudo apt install rabbitmq-server -y
[sudo] password for roadking: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  linux-headers-4.10.0-37
...

#2.  rabbitmq-server  상태 확인(active)
roadking@gclouds:~$ sudo systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ Messaging Server
   Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor 
   Active: active (running) since Tue 2017-12-05 20:55:06 UTC; 3min 9s ago
 Main PID: 18165 (rabbitmq-server)
   CGroup: /system.slice/rabbitmq-server.service
           ├─18165 /bin/sh /usr/sbin/rabbitmq-server
           ├─18182 /bin/sh -e /usr/lib/rabbitmq/bin/rabbitmq-server
           ├─18243 /usr/lib/erlang/erts-7.3/bin/epmd -daemon
           ├─18301 /usr/lib/erlang/erts-7.3/bin/beam.smp -W w -A 64 -P 1048576 -
           ├─18418 inet_gethost 4
           └─18419 inet_gethost 4

Dec 05 20:55:04 gclouds systemd[1]: Starting RabbitMQ Messaging Server...
Dec 05 20:55:05 gclouds rabbitmq[18166]: Waiting for rabbit@gclouds ...
Dec 05 20:55:05 gclouds rabbitmq[18166]: pid is 18182 ...
Dec 05 20:55:06 gclouds systemd[1]: Started RabbitMQ Messaging Server.

#3.  관리용 플러그인 설치
roadking@gclouds:~$ sudo rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@gclouds... started 6 plugins.

#4.  관리용 플러그인 설치로 해당 서비스 재시작
roadking@gclouds:~$ sudo systemctl restart rabbitmq-server

#5.  luffy/onepiece 로 관리용 계정 생성
roadking@gclouds:~$ sudo rabbitmqctl add_user luffy onepiece
Creating user "luffy" ...

#6.  해당 계정을 관리자(administrator) 로 설정
roadking@gclouds:~$ sudo rabbitmqctl set_user_tags luffy administrator
Setting tags for user "luffy" to [administrator] ...
roadking@gclouds:~$ 


 [ R
abbitMQ Server - 관리 페이지 접속  http://IP:15672 , luffy/onepiece]



2. DB 설치(MySQL)


#1.  mysql 서버 설치
roadking@gclouds:~$ sudo apt  install mysql-server

#2. mysql 서버 상태 확인
roadking@gclouds:~$ systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-12-05 21:41:00 UTC; 2min 18s ago
 Main PID: 23166 (mysqld)
   CGroup: /system.slice/mysql.service
           └─23166 /usr/sbin/mysqld

#3. mysql 서버 접속
roadking@gclouds:~$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.20-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 



2. DB 설치(MySQL)


2. DB 설치(MySQL)


2. DB 설치(MySQL)



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함