Related Posts
-
실시간 댓글 개발기(part.3) – Spring의 동시성 접근 제어에 발목 잡힌 이야기
2020.06.22
전편(실시간 댓글 개발기(part.2) – 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업)에서 공유 드린 바와 같이 다양한 모니터링 및 디버깅 툴의 실제 활용 사례인 Spring SimpleBroker 튜닝기를 소개하고자 합니다. 장애분석: lock 걸리는 부분 찾아가기 불안정한 서버 문제를 해결하기 위해 전편에서 안내드린 사내 자바 모니터링 시스템인 Neo를 이용해서 Threaddump를 뜬 후에 https://fastthread.io 사이트에서 분석을 수행하였습니다. 아래의 […]
stein.park 신기술을 배울 수 있다는 기쁨과 신기술을 배워야 한다는 고통 속에서 끝없는 희로애락의 굴레를 맴돌고 있는 개발자입니다. -
실시간 댓글 개발기(part.2) – 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업
2020.06.15
전편(실시간 댓글 개발기(part.1) -DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처) 에서는 기본적인 테스트 환경 구축에 대한 설명을 드렸다면, 이번에는 테스트 진행에 대해서 공유하고자 합니다. 목표는 라이브 댓글 서버 한대당 10k 커넥션을 안정적으로 유지하고 2800TPS를 받을 수 있도록 하는 것인데요, 안정화를 위해서 Spring WebSocket 기능 뿐만 아니라 Tomcat, VIP, 물리장비, Docker 컨테이너 등에 […]
esteban.yu -
실시간 댓글 개발기(part.1) – DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처
2020.06.08
안녕하세요! 콘텐츠플랫폼개발팀 briony입니다. 제가 속한 팀 내 인터랙션플랫폼셀에서는 작년 한 해동안 ‘실시간 댓글’이라는 신규 기능을 위해 조직 구성원 모두 그 누구보다도 뜨거운 시간을 보냈는데요. 이 자리를 통해 기존 시스템에 독립적인 아키텍처를 설계하고, 서비스 적용을 위해 성능을 테스트하고 튜닝한 경험을 공유하려 합니다. 오늘은 프로젝트에 대한 소개와 아키텍처를 설계하고 기술을 결정한 내용을 소개하겠습니다. Alex 댓글은 카카오의 서비스들이 댓글 […]
briony.jo 다양한 사람들과 즐겁게 일하고 함께 성장하는 것을 꿈꾸는 개발자입니다. 대용량 트래픽에도 끄떡없는 견고한 서버 프로그래밍과 클린 코드에 관심이 많습니다.
2021-new-krew
adaptive-hash-index
adt
agile
agilecoach
ai
Algorithm/ML
Algorithm/Ranking
almighty-data-transmitter
android
angular
anycast
App2App
applicative
Architecture
arena
ast
async
aurora
babel
babel7
Backend
BApp
bgp
big-data
ble
blind-recruitment
block
Block Chain
blockchain
bluetooth
brian
business
Cache
cahtbot
Caver
cd
ceph
certificate
certification
cgroup
ci
cite
client
clojure
close-wait
cloud
cloudera-manager
clustered-block
cmux
cnn
code-festival
code-review
codereview
coding
competition
component
conference
consul
container
contents
contest
core-js@3
couchbase
COVID-19
cpp
Data
data-engineering
DB
deep-learning
dependency-graph
dev
dev-session
dev-track
developer
developer relations
developers
devops
digitalization
digitaltransformation
dns
docker
dr
employeecard
eslint
Feature List
Featured
friendstime
front-end
frontend
functional-programming
funfunday
fzf
garbage-collection
gawibawibo
GC
github
globalpollution
go
graphdb
graphql
Ground X
growth
ha
hadoop
hbase
hbase-manager
hbase-region-inspector
hbase-snashot
hbase-table-stat
hbase-tools
hri
id
if kakao
ifkakao
infrastructure
innodb
internship
ios
item
Java
javascript
jsconf
jsconfkorea
json
k8s
kafka
kakao
kakao-commerce
kakao-games
kakaoarena
kakaocommerce
kakaocon
kakaoenterprise
kakaok
kakaokey
kakaokrew
kakaomap
kakaotalk
KAS
KCDC
khaiii
Klaytn
Klip
kubernetes
l3dsr
l4
links
load-balancing
machine-learning
marathon
meetup
melon
mesos
Messaging
microservice
mobil
monad
monorepo
mtre
mysql
mysql-realtime-traffic-emulator
nand-flash
network
new
new-krew
nfc
nomad
ocp
open
opensource
openstack
OpenWork
page
parallel
PBA
planning poker
Platform
polyfill
programming-contest
project-structure
pycon
python
quagga
react
reactive-programming
reactor
recap
recommendation
recruitment
redis
redis-keys
redis-scan
related-blind
rest
rubics
ruby
rxjs
s2graph
scala
scalaz
server
service
sharding
shopping
socket
spark
spark-streaming
SpringBoot
ssd
Statistics/Analysis
Stomp
storage
storm
style-guide
support
System
talk
talkchannel
tcp
tech
test
Thread-Debugging
time-wait
tmux
typescript
update
User Story
vim
vim-github-dashboard
vim-plugin
vue
vue.js
web-cache
webapp
WebSocket
weekly
work
workplatform
2021-new-krew
adaptive-hash-index
adt
agile
agilecoach
ai
Algorithm/ML
Algorithm/Ranking
almighty-data-transmitter
android
angular
anycast
App2App
applicative
Architecture
arena
ast
async
aurora
babel
babel7
Backend
BApp
bgp
big-data
ble
blind-recruitment
block
Block Chain
blockchain
bluetooth
brian
business
Cache
cahtbot
Caver
cd
ceph
certificate
certification
cgroup
ci
cite
client
clojure
close-wait
cloud
cloudera-manager
clustered-block
cmux
cnn
code-festival
code-review
codereview
coding
competition
component
conference
consul
container
contents
contest
core-js@3
couchbase
COVID-19
cpp
Data
data-engineering
DB
deep-learning
dependency-graph
dev
dev-session
dev-track
developer
developer relations
developers
devops
digitalization
digitaltransformation
dns
docker
dr
employeecard
eslint
Feature List
Featured
friendstime
front-end
frontend
functional-programming
funfunday
fzf
garbage-collection
gawibawibo
GC
github
globalpollution
go
graphdb
graphql
Ground X
growth
ha
hadoop
hbase
hbase-manager
hbase-region-inspector
hbase-snashot
hbase-table-stat
hbase-tools
hri
id
if kakao
ifkakao
infrastructure
innodb
internship
ios
item
Java
javascript
jsconf
jsconfkorea
json
k8s
kafka
kakao
kakao-commerce
kakao-games
kakaoarena
kakaocommerce
kakaocon
kakaoenterprise
kakaok
kakaokey
kakaokrew
kakaomap
kakaotalk
KAS
KCDC
khaiii
Klaytn
Klip
kubernetes
l3dsr
l4
links
load-balancing
machine-learning
marathon
meetup
melon
mesos
Messaging
microservice
mobil
monad
monorepo
mtre
mysql
mysql-realtime-traffic-emulator
nand-flash
network
new
new-krew
nfc
nomad
ocp
open
opensource
openstack
OpenWork
page
parallel
PBA
planning poker
Platform
polyfill
programming-contest
project-structure
pycon
python
quagga
react
reactive-programming
reactor
recap
recommendation
recruitment
redis
redis-keys
redis-scan
related-blind
rest
rubics
ruby
rxjs
s2graph
scala
scalaz
server
service
sharding
shopping
socket
spark
spark-streaming
SpringBoot
ssd
Statistics/Analysis
Stomp
storage
storm
style-guide
support
System
talk
talkchannel
tcp
tech
test
Thread-Debugging
time-wait
tmux
typescript
update
User Story
vim
vim-github-dashboard
vim-plugin
vue
vue.js
web-cache
webapp
WebSocket
weekly
work
workplatform
위로