Dev/Java
ReactiveRedis With Redis Cluster
운영 환경에서 redis cluster 를 구성할때, master node 가 중지되는 경우를 대비하기 위해 Master-Slave 구조로 replication cluster 구성하여, Master가 중지되면 Slave가 Master 역할을 대신합니다. spring boot 기본 설정으로는 master가 중지되었을때 정상적으로 연동하지 못하는 문제가 있습니다. spring boot 에서 redis 를 사용하기 위해 Lettuce를 사용하는데, LettuceClientConfiguration 에서 ReadFrom 설정값을 UPSTREAM_PREFERRED 으로 변경해야합니다. (https://lettuce.io/core/release/api/io/lettuce/core/ReadFrom.html) redis..
jmeter를 사용한 가변길이 TCP Binary 패킷 처리 방법
Use Dynamic Binary Packet for JMeter 성능 테스트를 위해 가장 많이 사용된다는 Tool인 JMeter을 사용하기로 했습니다. JMeter는 HTTP, HTTPS, FTP, REST, TCP등 다양한 프로토콜을 지원한다고 하는데, TCP Binary 패킷에 대한 송수신 처리 자료는 찾기 힘들었습니다. 여기서 JMeter를 사용한 가변길이 TCP Binary 패킷 처리를 설명합니다. JMeter의 beanShell을 사용해서 송수신 패킷을 만들고, 별도 제작한 plugin을 사용해 TCP 송수신 처리를 할 것입니다. Test 시나리오 테스트할 서버는 로컬에 1234 port를 listen하고 있습니다. 요청 패킷에 요청 seq가 포함됩니다. 요청/응답 header 패킷은 동일합니..