세 서비스의 특성은 다음과 같다
1. HMS, SRMS client에게 정보를 제공하는 서비스
I/O 발생 비교적 적음
데이터 간 상관관계가 다수 존재함
대부분 기존 저장되어있는 데이터를 사용하여 서비스 데이터를 추출
2. MQTT로 로그를 쌓는 서비스
I/O 많이 발생 (INSERT가 많이 발생)
데이터 상관관계 적음(사실 있긴한데 해당 데이터를 사용시 연관되어있는 데이터의 세부 속성을 사용할 일 적다고 판단)
3. 내부적으로 Robot Algorithm을 제공하는 서비스
I/O 많이 발생 (UPDATE가 많이 발생)
데이터 상관관계 적음
문제점
현재 PHP 서버에서는 모든 서비스를 하나의 코드와 하나의 DBMS(MySQL)로 관리하고 있다.
성격이 다른 서비스를 같은 시스템과 DBMS로 관리하며 사용하니 효율면에서 떨어지는 부분이 있다고 판단된다.
예를 들어 battery_logs의 경우 단순하게 누적되는 log 값인데 아래와 같이 현재 battery_log에 하루에 약 3900정도의 데이터가 누적되고 있는 상황이다.
robot_log나 error_log의 경우도 그 수가 비교적 적을 뿐이지 마친가지다.
현재 map 1개(map_id : 2 / 더피플버거 연신내점)만의 데이터가 이 정도이니 이후 가맹 매장이 늘어나면 늘어날수록 서버 부하가 커질 것이라고 판단된다.
세 서비스의 특성이 다르므로 세 서비스를 분할하여 각각의 서비스에 맞는 DBMS를 사용하고 내부 시스템을 독립적으로 관리할 수 있는 MSA화를 고려해보고 있다.
내부 서비스의 효율적인 운영을 위한 MSA 적용을 검토하고 있습니다.
현 서버 상황
현재 헬퍼에서 사용하는 서버의 서비스를 크게 3가지로 분류할 수 있을 것 같다.
세 서비스의 특성은 다음과 같다 1. HMS, SRMS client에게 정보를 제공하는 서비스
2. MQTT로 로그를 쌓는 서비스
3. 내부적으로 Robot Algorithm을 제공하는 서비스
문제점
현재 PHP 서버에서는 모든 서비스를 하나의 코드와 하나의 DBMS(MySQL)로 관리하고 있다. 성격이 다른 서비스를 같은 시스템과 DBMS로 관리하며 사용하니 효율면에서 떨어지는 부분이 있다고 판단된다. 예를 들어 battery_logs의 경우 단순하게 누적되는 log 값인데 아래와 같이 현재 battery_log에 하루에 약 3900정도의 데이터가 누적되고 있는 상황이다.
robot_log나 error_log의 경우도 그 수가 비교적 적을 뿐이지 마친가지다. 현재 map 1개(map_id : 2 / 더피플버거 연신내점)만의 데이터가 이 정도이니 이후 가맹 매장이 늘어나면 늘어날수록 서버 부하가 커질 것이라고 판단된다.
세 서비스의 특성이 다르므로 세 서비스를 분할하여 각각의 서비스에 맞는 DBMS를 사용하고 내부 시스템을 독립적으로 관리할 수 있는 MSA화를 고려해보고 있다.