2022. 10. 24. 21:54ㆍBACKEND
이전 포스팅에 이어 해당 포스팅에서는 ShenYu 초기 설정을 수정해보겠습니다.
기본 옵션인 H2 데이터베이스를 MySQL 로 변경하는 작업과 Port를 변경하는 작업,
그리고 만약 binary 파일을 다운받고 실행시켰을 때 java 명령을 못찾는 경우를 위해 경로를 지정하는 방법까지 알아보겠습니다.
Using MySQL
Shenyu API Gateway에 MySQL을 적용하기 위해서는 Admin에 몇 가지 설정이 필요합니다.
순서는 아래와 같습니다.
1. Download MySQL Connector : Library Package 다운로드
2. conf/application.yml 설정 변경
3. conf/application-mysql.yml 설정 변경: MySQL 연결 정보 입력
하나씩 살펴보도록 할게요.
Download MySQL Connector
MySQL을 사용하려면 mysql-connector JAR 라이브러리 패키지를 다운받아야 합니다.
https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar
위치는 Shenyu Admin를 다운받은 디렉터리 내의 ext-lib/ 으로 다운받으면됩니다.
# apache-shenyu-2.5.0-admin-bin/ext-lib/
$ wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.18/mysql-connector-java-8.0.18.jar
위의 명령어를 통해 mysql-connector-java 패키지를 다운 받습니다.
Modify application.yml
$ vi apache-shenyu-2.5.0-admin-bin/conf/application.yml
위의 명령을 입력하면 아래와 같이 기본 설정값이 h2 을 확인할 수 있습니다.
여기서 설정값을 spring.profiles.active=mysql 로 변경합니다.
# application.yml
...
spring:
profiles:
active: mysql
...
Modify application-mysql.yml
vi apache-shenyu-2.5.0-admin-bin/conf/application-mysql.yml
위의 파일에서 아래에 해당하는 MySQL 정보를 입력합니다.
spring:
datasource:
url: #mysql-host-url
username: #mysql username
password: #mysql password
driver-class-name: com.mysql.cj.jdbc.Driver
위 설정까지 마치면 MySQL 설정이 끝났습니다.
Modify Port
기존의 포트를 그대로 사용하면 보안 상의 문제가 될 수 있으므로 포트를 변경합니다.
포트를 변경하기 위해서는 Admin과 Bootstrap 모두 변경해야 합니다.
Admin 모듈의 수정 경로는 아래와 같습니다.
$ vi apache-shenyu-2.5.0-admin-bin/conf/application.yml
Bootstrap 모듈의 수정 경로는 아래와 같습니다.
$ vi apache-shenyu-2.5.0-bootstrap-bin/conf/application.yml
admin, gateway은 각각 9095, 9195 번 포트를 사용하며,
위 파일 내 정의된 port를 기반으로 서로 동기화 통신하기 때문에
각 모듈의 application.yml에서 9095, 9195 모두 변경해야 합니다.
참고) vim을 통해 편집 시 아래 명령어를 사용해서 쉽게 변경할 수 있습니다.
%s/9095/{변경할_Admin_포트}/gc
%s/9195/{변경할_Bootstrap_포트}/gc
/g : 전체 변경
/c : 변경 여부 체크
EX. 8811, 8822 로 변경 시
:%s/9095/8811/gc # admin
:%s/9195/8822/gc # bootstrap port
포트 설정이 끝났습니다.
⚠️ shenyu-admin의 포트 설정을 변경했다면, shenyu-bootstrap에서도 동일하게 변경해주어야 합니다.
start.sh 수정
java 실행 옵션 변경
bin/start.sh에 기본으로 정의된 자바 실행 옵션을 변경해봅시다.
변경 전
JAVA_OPTS=" -server -Xmx2g -Xms2g -Xmn1g -Xss512k -XX:+DisableExplicitGC -XX:La rgePageSizeInBytes=128m"
변경 후
heap size를 128m 설정합니다.
JAVA_OPTS=" -server -Xmx128m -Xms128m -Xmn128m -Xss512k -XX:+DisableExplicitGC -XX:LargePageSizeInBytes=128m"
Java path 설정
만약, start.sh 을 실행시키다 java 를 못찾는다는 에러를 받을 수 있습니다.
Java path를 서버에 정의된 환경에 맞는지 확인합니다.
가령, 아래와 같이 변경할 수 있습니다.
변경 전
nohup java ${...} ...
변경 후
nohup $JAVA_HOME/bin/java ${...} ...
Run shenyu-admin
# linux / maxos
apache-shenyu-2.5.0-admin-bin/bin/start.sh
# window
apache-shenyu-2.5.0-bootstrap-bin/bin/start.bat
Run shenyu-bootstrap
# linux / maxos
apache-shenyu-2.5.0-bootstrap-bin/bin/start.sh
# window
apache-shenyu-2.5.0-bootstrap-bin/bin/start.bat
'BACKEND' 카테고리의 다른 글
Circuit Breaker, 제대로 이해하기 (0) | 2022.12.28 |
---|---|
Rate Limiter, 제대로 이해하기 (1) | 2022.11.20 |
Shenyu API Gateway, 어렵지 않게 시작하기 1 (0) | 2022.10.23 |
Shenyu API Gateway, 어렵지 않게 이해하기 (0) | 2022.10.23 |
TimeZone, 어렵지 않게 이해하기 (0) | 2022.05.05 |
Backend Software Engineer
𝐒𝐮𝐧 · 𝙂𝙮𝙚𝙤𝙣𝙜𝙨𝙪𝙣 𝙋𝙖𝙧𝙠