swarm 모드에서 docker 서비스의 복제본간에로드 균형 조정 알고리즘을 사용하는 문서를 찾을 수 없습니다. 5 초 지연 후docker swarm 모드에서 서비스 복제본 간의 네트워크 요청로드 균형 조정
const LATENCY = 5000;
var app = require('express')();
app.get('/', (req,res)=>{
console.log('Sending response');
setTimeout(function() {
res.send('All ok');
}, LATENCY);
});
app.listen(8080);
코드는 단지 전송 All ok
:
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
npm
다음 server.js
시작 :
mynodeapp
를 만들었다. 또한 콘솔에
Sending response
을 인쇄합니다.
지금, I는 고정 표시기 떼 모드 시작 :
docker swarm init --advertise-addr:eth0
및 두 개의 복제본으로 서비스를 시작
가docker service create mynodeapp --replicas 2 --publish 8080:8080
결과 지금
[email protected]:~# docker service ls
ID NAME REPLICAS IMAGE COMMAND
233z44bz6sx0 amazing_hypatia 2/2 mynodeapp
[email protected]:~# docker ps
CONTAINER ID PORTS NAMES
1f36e0c9eb37 8080/tcp amazing_hypatia.1.453u2upnyf2nvtwxouopv4olk
f0fb099a5154 8080/tcp amazing_hypatia.2.8lbs461uhiv2qvh28433ayi0g
, 나는 두 단자를 열고 두 컨테이너의 로그를 확인하십시오.
,451,515,docker logs amazing_hypatia.2.8lbs461uhiv2qvh28433ayi0g -f
및
docker logs amazing_hypatia.2.8lbs461uhiv2qvh28433ayi0g -f
나는 내가 할
curl localhost:8080
을 실행하면
Sending response
하나 개의 단자와 다른 터미널에서 다른 시간에서 한 시간입니다. 그래서
은 라운드 로빈처럼 보입니다로드 밸런싱이 사용됩니다.
하지만 실제로드 균형 조정 알고리즘은 무엇입니까?
답변을 제공하는 링크를 제공 할 수 있습니까? 나는이 문제를 논의하는 어떤 출처도 찾을 수 없다. – rlib
dockers 문서에서 링크 및 견적을 업데이트했습니다. – BMitch