-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2022-07-21_45580289.html
150 lines (136 loc) · 20.7 KB
/
2022-07-21_45580289.html
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!DOCTYPE html>
<html>
<head>
<title>FIRE WIKI : 2022-07-21</title>
<link rel="stylesheet" href="styles/site.css" type="text/css" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body class="theme-default aui-theme-default">
<div id="page">
<div id="main" class="aui-page-panel">
<div id="main-header">
<div id="breadcrumb-section">
<ol id="breadcrumbs">
<li class="first">
<span><a href="index.html">FIRE WIKI</a></span>
</li>
<li>
<span><a href="262207.html">FIRE 위키 홈</a></span>
</li>
<li>
<span><a href="720918.html">데일리 회의록</a></span>
</li>
<li>
<span><a href="36700161.html">7월</a></span>
</li>
</ol>
</div>
<h1 id="title-heading" class="pagetitle">
<span id="title-text">
FIRE WIKI : 2022-07-21
</span>
</h1>
</div>
<div id="content" class="view">
<div class="page-metadata">
Created by <span class='author'> 고주형</span>, last modified by <span class='editor'> 이하령</span> on 7월 22, 2022
</div>
<div id="main-content" class="wiki-content group">
<h2 id="id-2022-07-21-Index"><img class="emoticon emoticon-blue-star" data-emoji-id="1f50d" data-emoji-shortname=":mag:" data-emoji-fallback="🔍" src="images/icons/emoticons/72/1f50d.png" width="16" height="16" data-emoticon-name="blue-star" alt="(파란별)"/> Index</h2><style type='text/css'>/*<![CDATA[*/
div.rbtoc1671113074230 {padding: 0px;}
div.rbtoc1671113074230 ul {list-style: disc;margin-left: 0px;}
div.rbtoc1671113074230 li {margin-left: 0px;padding-left: 0px;}
/*]]>*/</style><div class='toc-macro rbtoc1671113074230'>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-아침회의'>아침 회의</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-하령님'>하령님</a></li>
<li><a href='#id-2022-07-21-영기님'>영기님</a></li>
<li><a href='#id-2022-07-21-주형'>주형</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-CD'>CD</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-진행상황'>진행상황</a></li>
</ul>
</li>
</ul>
</li>
<li><a href='#id-2022-07-21-계획정리'>계획 정리</a></li>
</ul>
</li>
<li><a href='#id-2022-07-21-정원용멘토님멘토링'>정원용 멘토님 멘토링</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-주형고민:소켓통신은어떻게협업하나요?'>주형 고민: 소켓 통신은 어떻게 협업 하나요?</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-1.송수신주체'>1. 송수신 주체</a></li>
<li><a href='#id-2022-07-21-2.이벤트명'>2. 이벤트 명</a></li>
<li><a href='#id-2022-07-21-3.페이로드'>3. 페이로드</a></li>
</ul>
</li>
<li><a href='#id-2022-07-21-HTTP강의'>HTTP 강의</a></li>
<li><a href='#id-2022-07-21-주형고민:Redis공부및Redis구축방법'>주형 고민: Redis공부 및 Redis 구축 방법</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-LB의Stikyness'>LB의 Stikyness</a></li>
<li><a href='#id-2022-07-21-해결법:SessionClustering'>해결법: Session Clustering</a></li>
<li><a href='#id-2022-07-21-Aggregation'>Aggregation</a></li>
</ul>
</li>
<li><a href='#id-2022-07-21-Redis로분산시키는방법2가지'>Redis로 분산시키는 방법 2가지</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-1.클러스터링'>1. 클러스터링</a></li>
<li><a href='#id-2022-07-21-2.샤딩'>2. 샤딩</a></li>
</ul>
</li>
<li><a href='#id-2022-07-21-공부법추천'>공부법 추천</a></li>
<li><a href='#id-2022-07-21-Redis를사용할때막연한점2가지'>Redis를 사용할 때 막연한 점 2가지</a>
<ul class='toc-indentation'>
<li><a href='#id-2022-07-21-1.키를만드는규칙'>1. 키를 만드는 규칙</a></li>
<li><a href='#id-2022-07-21-2.운영에필요한스케일아웃'>2. 운영에 필요한 스케일 아웃</a></li>
</ul>
</li>
<li><a href='#id-2022-07-21-정리'>정리</a></li>
<li><a href='#id-2022-07-21-스토리'>스토리</a></li>
<li><a href='#id-2022-07-21-코로나'>코로나</a></li>
<li><a href='#id-2022-07-21-Pattern공부'>Pattern 공부</a></li>
</ul>
</li>
</ul>
</div><h2 id="id-2022-07-21-Date"><img class="emoticon emoticon-blue-star" data-emoji-id="1f5d3" data-emoji-shortname=":calendar_spiral:" data-emoji-fallback="\uD83D\uDDD3" src="images/icons/emoticons/72/1f5d3.png" width="16" height="16" data-emoticon-name="blue-star" alt="(파란별)"/> Date</h2><p style="margin-left: 30.0px;"><time datetime="2022-07-21" class="date-past">2022. 7. 21.</time> 의 회의록 마스터 : <a class="confluence-userlink user-mention current-user-mention" data-username="5ae579319fcb1f22f34d33f2" data-account-id="5ae579319fcb1f22f34d33f2" href="https://swm-fire.atlassian.net/wiki/people/5ae579319fcb1f22f34d33f2?ref=confluence" target="_blank" data-linked-resource-id="524292" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">고주형</a> </p><h2 id="id-2022-07-21-Participants"><img class="emoticon emoticon-blue-star" data-emoji-id="1f465" data-emoji-shortname=":busts_in_silhouette:" data-emoji-fallback="\uD83D\uDC65" src="images/icons/emoticons/72/1f465.png" width="16" height="16" data-emoticon-name="blue-star" alt="(파란별)"/> Participants</h2><p><a href="https://swm-fire.atlassian.net/people/team/617ed1cd-4ae5-4e85-9116-fccd208cb50e" class="external-link" rel="nofollow">TEAM FIRE</a> (<a class="confluence-userlink user-mention current-user-mention" data-username="5ae579319fcb1f22f34d33f2" data-account-id="5ae579319fcb1f22f34d33f2" href="https://swm-fire.atlassian.net/wiki/people/5ae579319fcb1f22f34d33f2?ref=confluence" target="_blank" data-linked-resource-id="524292" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">고주형</a> <a class="confluence-userlink user-mention" data-username="62666f5a4297890069453757" data-account-id="62666f5a4297890069453757" href="https://swm-fire.atlassian.net/wiki/people/62666f5a4297890069453757?ref=confluence" target="_blank" data-linked-resource-id="196617" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">윤영기</a> <a class="confluence-userlink user-mention" data-username="62666f5934b9b7006879b22b" data-account-id="62666f5934b9b7006879b22b" href="https://swm-fire.atlassian.net/wiki/people/62666f5934b9b7006879b22b?ref=confluence" target="_blank" data-linked-resource-id="196611" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">이하령</a>) + <a class="confluence-userlink user-mention" data-username="70121:412dbc3f-d7b9-4f3c-9dc7-03442e8a60a3" data-account-id="70121:412dbc3f-d7b9-4f3c-9dc7-03442e8a60a3" href="https://swm-fire.atlassian.net/wiki/people/70121:412dbc3f-d7b9-4f3c-9dc7-03442e8a60a3?ref=confluence" target="_blank" data-linked-resource-id="12255254" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">WonYong Jeong</a> </p><h2 id="id-2022-07-21-Discussiontopics"><img class="emoticon emoticon-blue-star" data-emoji-id="1f5e3" data-emoji-shortname=":speaking_head:" data-emoji-fallback="\uD83D\uDDE3" src="images/icons/emoticons/72/1f5e3.png" width="16" height="16" data-emoticon-name="blue-star" alt="(파란별)"/> Discussion topics</h2><h2 id="id-2022-07-21-아침회의">아침 회의</h2><h3 id="id-2022-07-21-하령님">하령님</h3><ul><li><p>소켓 통신관련 리팩터링 필요</p></li><li><p>스크롤 문제</p></li><li><p>취약점 alert - moderate</p><ul><li><p><a href="https://github.com/SWM-FIRE/modoco-frontend/security/dependabot/5" class="external-link" rel="nofollow">https://github.com/SWM-FIRE/modoco-frontend/security/dependabot/5</a></p></li></ul></li></ul><h3 id="id-2022-07-21-영기님">영기님 </h3><ul><li><p>목소리가 안 나와영 ㅠ</p></li><li><p>밥 못 드셔서 죽 시킴</p></li><li><p>몸 조심하세용</p></li></ul><p>→ 푹 쉬세영!! <a href="https://swm-fire.atlassian.net/jira/software/projects/FIRE/boards/1?selectedIssue=FIRE-351" data-card-appearance="inline" class="external-link" rel="nofollow">https://swm-fire.atlassian.net/jira/software/projects/FIRE/boards/1?selectedIssue=FIRE-351</a> </p><h3 id="id-2022-07-21-주형">주형</h3><ul><li><p>CD 마무리 작업</p></li><li><p>video socket 개조 ㅎ</p><ul><li><p>uid보내도록 수정</p></li></ul></li><li><p>timer를 위한 DB 테이블 만들기</p></li></ul><p>+ 어제 CD하다가 힘들었습니다 ㅎㅎ</p><div id="expander-1455901378" class="expand-container"><div id="expander-control-1455901378" class="expand-control"><span class="expand-control-icon"><img style="vertical-align:middle;" class="expand-control-image" src="images/icons/grey_arrow_down.png"></span><span class="expand-control-text">여기를 클릭하여 펼치기...</span></div><div id="expander-content-1455901378" class="expand-content"><h4 id="id-2022-07-21-CD">CD</h4><p>과정 (CodePipeline으로 관리)</p><ol><li><p>GitHub Authenticate (성공)<br/>(커밋 푸쉬될 때마다 트리거)</p></li><li><p>해당 Git 저장소 S3에 업로드 (성공)</p></li><li><p>Code Build (실패!)<br/>yarn ci && yarn build</p></li><li><p>Elastic Beanstalk을 통해 배포</p></li></ol><h5 id="id-2022-07-21-진행상황">진행상황</h5><p>깃헙이랑 S3랑 연동 완료</p><p>Code Build에서 실패</p><ul><li><p>Code Build에서 S3로 부터 다운로드를 하지 못함.</p></li><li><p>(추측) VPC 문제이거나 Security Group 문제로 S3의 오브젝트를 가졍오지 못함</p></li></ul><p>이어서 하다가 3시간 넘게 안 되면 문서화하고 멈출 것임.</p></div></div><hr/><h3 id="id-2022-07-21-계획정리">계획 정리</h3><ul><li><p>369팀과의 기술별 소모임 (금요일) 불참 - (연락 완료)</p></li><li><p>엑스퍼트님께 오후 6시로 시간 확정 ← <a class="confluence-userlink user-mention" data-username="62666f5934b9b7006879b22b" data-account-id="62666f5934b9b7006879b22b" href="https://swm-fire.atlassian.net/wiki/people/62666f5934b9b7006879b22b?ref=confluence" target="_blank" data-linked-resource-id="196611" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">이하령</a> </p></li><li><p>(월요일 시작) 스크럼마스터 <a class="confluence-userlink user-mention" data-username="62666f5a4297890069453757" data-account-id="62666f5a4297890069453757" href="https://swm-fire.atlassian.net/wiki/people/62666f5a4297890069453757?ref=confluence" target="_blank" data-linked-resource-id="196617" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">윤영기</a> → <a class="confluence-userlink user-mention current-user-mention" data-username="5ae579319fcb1f22f34d33f2" data-account-id="5ae579319fcb1f22f34d33f2" href="https://swm-fire.atlassian.net/wiki/people/5ae579319fcb1f22f34d33f2?ref=confluence" target="_blank" data-linked-resource-id="524292" data-linked-resource-version="1" data-linked-resource-type="userinfo" data-base-url="https://swm-fire.atlassian.net/wiki">고주형</a>으로 </p></li><li><p>주형 - 개인 일정으로 금요일(내일) 일찍 퇴근</p></li></ul><hr/><h2 id="id-2022-07-21-정원용멘토님멘토링">정원용 멘토님 멘토링</h2><h3 id="id-2022-07-21-주형고민:소켓통신은어떻게협업하나요?">주형 고민: 소켓 통신은 어떻게 협업 하나요?</h3><p>3가지를 명세화 하면 된다</p><p>그리고 명세 문서로 교류한다 + 이후 지속적으로 업데이트하면 됨 </p><h4 id="id-2022-07-21-1.송수신주체">1. 송수신 주체</h4><p>-서버</p><p>-클라</p><h4 id="id-2022-07-21-2.이벤트명">2. 이벤트 명</h4><ul><li><p>HTTP에서는 url 기준이듯 소켓(socket.io)은 이벤트 기준이므로</p></li></ul><h4 id="id-2022-07-21-3.페이로드">3. 페이로드</h4><ul><li><p>대부분 JSON</p><ul><li><p>이것을 통한 통신의 내용이 규격</p></li></ul></li></ul><blockquote><p>REST와 비슷하다 </p><p>method path body</p></blockquote><hr/><h3 id="id-2022-07-21-HTTP강의">HTTP 강의</h3><p>HTTP 헤더를 설정해보자</p><ul><li><p>CORS 해결</p></li></ul><p>HTTP의 상태코드</p><ul><li><p>상태코드만 봐도 어디서 문제가 생겼는지 파악이 된다</p></li><li><p>200</p></li><li><p>300</p></li><li><p>400</p></li><li><p>500</p></li></ul><p>Cache</p><ul><li><p>Last-Modified</p></li><li><p>If-Modified-Since</p></li></ul><p>Chunk로 보내기</p><ul><li><p>Content-Length가 없다</p></li><li><p>서버도 얼마나 보내줄지 몰라</p></li><li><p>{바이트 수}\n{바이트열}</p></li></ul><h3 id="id-2022-07-21-주형고민:Redis공부및Redis구축방법">주형 고민: Redis공부 및 Redis 구축 방법</h3><p>pub 자체를 레디스에게 위임</p><p>매개 릴레이 역할 </p><h4 id="id-2022-07-21-LB의Stikyness">LB의 Stikyness</h4><p>연결 지향 실시간 통신은 Sticky 의미 없어</p><h4 id="id-2022-07-21-해결법:SessionClustering">해결법: Session Clustering</h4><p>Scale-out해도 무방해야 돼</p><ul><li><p>클라가 여러대의 서버에 접속</p></li></ul><p>서버들끼리 여러 유저가 어딨는지 알아야돼</p><ul><li><p>Pub Sub에 윔임</p></li><li><p>레디스를 통해 세션 관리</p></li></ul><p>레디스가 중간에 있다.</p><h4 id="id-2022-07-21-Aggregation">Aggregation</h4><p>노드가 상태를 가지면?</p><ul><li><p>메모리 공유가 안돼서 자원을 모두 어그리게이션</p></li></ul><p>Aggreation이 되어야 해</p><ul><li><p>프로세스간</p><ul><li><p>메모리가 공유되지 않으므로 </p></li></ul></li><li><p>여러 서버간</p></li></ul><hr/><h3 id="id-2022-07-21-Redis로분산시키는방법2가지">Redis로 분산시키는 방법 2가지</h3><p>redis 2가지 방법으로 실시간 유저를 분산</p><h4 id="id-2022-07-21-1.클러스터링">1. 클러스터링</h4><h4 id="id-2022-07-21-2.샤딩">2. 샤딩</h4><ul><li><p>2군데의 서버가 다 액티브</p></li><li><p>Rule-based</p><ul><li><p>특정 규칙으로 나누기</p></li><li><p>ex. 홀짝</p></li></ul></li><li><p>Hasing</p><ul><li><p>생일 끝짜리가 2</p></li></ul></li></ul><p /><p>한 서버에 굉장히 많은 사람 붙을 것이다.</p><p>적어도 노드가 여러 프로세스간 클러스터링이 되야 할 것이다.</p><hr/><h3 id="id-2022-07-21-공부법추천">공부법 추천</h3><p>책보면서 계속 실습</p><ul><li><p>최신버전 레퍼런스 책과 더불어 공부</p></li><li><p>nosql중에서 러닝커브가 낮음</p></li><li><p>운영도 러닝 커브 낮음</p></li></ul><p>공식 문서</p><ul><li><p>사이트에 함수마다 섹션이 나누어짐</p></li><li><p>그 명세를 보자</p></li></ul><h3 id="id-2022-07-21-Redis를사용할때막연한점2가지">Redis를 사용할 때 막연한 점 2가지</h3><h4 id="id-2022-07-21-1.키를만드는규칙">1. 키를 만드는 규칙</h4><ul><li><p>네임스페이스가 있어야 될 것 아니야?</p></li></ul><p> 네임스페이스는 하이픈을 쓰자 / .</p><ul><li><p>프리픽스</p></li><li><p>서브픽스</p></li></ul><h4 id="id-2022-07-21-2.운영에필요한스케일아웃">2. 운영에 필요한 스케일 아웃</h4><p>위에서 언급함</p><hr/><h3 id="id-2022-07-21-정리">정리</h3><p>pub/sub만 필요</p><p>node입장에서는 매개 함.</p><p>노드의 역할과 레디스의 역할이 정의되지 않음</p><p>노드클러스간의 동기화 구성</p><p>하나의 레디스에 모든 노드 서버가 붙는다</p><hr/><h3 id="id-2022-07-21-스토리">스토리</h3><p>애매한 부분이 있었다.</p><p>입장했을 때 어느 화면이 보여야되는지</p><p>입장이라는 것은 범위는 무엇인지</p><p>ex) [dev] 로비에서 공유화면에 입장한다. + 입장해서 어느 화면이 보이는지까지 적어주자</p><p>→ 좀 더 분명히 할 필요가 있다!</p><p /><p>회고 때 생각할 것</p><ul><li><p>각 스토리에 대한 범위가 애매하다</p></li><li><p>어느 범위까지가 다루는 것인가?</p></li></ul><blockquote><p>지금은 추가할 때가 아니라 기존의 스토리를 처낼 때</p></blockquote><p /><p>돌아오는 스토리는 기존 스토리 중 완료하지 못한 것 + 이미 만들어 둔 것으로 진행하자</p><hr/><h3 id="id-2022-07-21-코로나">코로나</h3><p>코로나에 걸리면 컨디션이 들쑥날쑥하다</p><ul><li><p>회복되다가도 나빠져서 예측하기 어렵다</p></li></ul><p>영기님 푹 쉬자!</p><hr/><h3 id="id-2022-07-21-Pattern공부">Pattern 공부</h3><ul><li><p>책이 쉬워야 돼</p></li><li><p>가장 쉬운 책</p><ul><li><p>자바 언어로 배우는 디자인패턴</p></li><li><p><a href="http://www.yes24.com/Product/Goods/2918928" data-card-appearance="inline" class="external-link" rel="nofollow">http://www.yes24.com/Product/Goods/2918928</a> </p></li></ul></li><li><p>자바 언어를 TS로 전환해서 세미나 방식으로 하자</p><ul><li><p>전환하기 쉽다</p></li></ul></li><li><p>(가능하면) 다음주에 ch1 멘토님이 세미나 진행</p><ul><li><p>이후 돌아가면서 진행</p></li></ul></li></ul>
</div>
<div class="pageSection group">
<div class="pageSectionHeader">
<h2 id="attachments" class="pageSectionTitle">Attachments:</h2>
</div>
<div class="greybox" align="left">
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580297.png">image-20220719-183842.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580300.png">image-20220719-183530.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580303.png">image-20220719-182906.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580306.png">image-20220719-182901.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580309.png">image-20220719-182902.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580312.png">Pasted Graphic 1-20220715-033909.png</a> (image/png)
<br/>
<img src="images/icons/bullet_blue.gif" height="8" width="8" alt=""/>
<a href="attachments/45580289/45580315.png">Pasted Graphic 2-20220715-033908.png</a> (image/png)
<br/>
</div>
</div>
</div> </div>
<div id="footer" role="contentinfo">
<section class="footer-body">
<p>Document generated by Confluence on 12월 15, 2022 23:04</p>
<div id="footer-logo"><a href="http://www.atlassian.com/">Atlassian</a></div>
</section>
</div>
</div> </body>
</html>