
仿¥ãå€§èŠæš¡ãªé«äŸ¡ãªãããžã§ã¯ãã ãã§ãªãããã€ã§ãã©ãã§ããµãŒãã¹ã®é«å¯çšæ§ãæ±ããããŠããŸãã ãç³ãèš³ãããŸããããã¡ã³ããã³ã¹äžã§ãããšããã¡ãã»ãŒãžã衚瀺ãããäžæçã«å©çšã§ããªããµã€ãã¯äŸç¶ãšããŠååšããŸãããéåžžã¯èŠäžãããããªç¬ã¿ãæµ®ãã¹ãŸãã ãã®ã¯ã©ãŠãã§ã®ç掻ã«ããã«å ããŠã¿ãŸãããã远å ã®ãµãŒããŒãèµ·åãããšãã¯ãAPI ã XNUMX ååŒã³åºãã ãã§æžã¿ããããŒããŠã§ã¢ãã®æäœã«ã€ããŠèããå¿
èŠã¯ãããŸããã ãããŠãéèŠãªã·ã¹ãã ãã¯ã©ã¹ã¿ãŒ ãã¯ãããžãŒãšåé·æ§ã䜿çšããŠç¢ºå®ã«æ§ç¯ãããªãã£ãçç±ã¯ããã¯ãåŒè§£ã®äœå°ããããŸããã
åœç€Ÿã®ãµãŒãã¹ã«ãããããŒã¿ããŒã¹ã®ä¿¡é Œæ§ã確ä¿ããããã«ã©ã®ãããªãœãªã¥ãŒã·ã§ã³ãæ€èšããã©ã®ãããªçµè«ã«è³ã£ãã®ãã«ã€ããŠèª¬æããŸãã ããã«ãåºç¯å²ã«ãããçµè«ã瀺ããã¢ãå«ãŸããŸãã
é«å¯çšæ§ã¢ãŒããã¯ãã£ã®ã¬ã¬ã·ãŒ
ããã¯ãããŸããŸãªãªãŒãã³ãœãŒã¹ ã·ã¹ãã ã®éçºã®ã³ã³ããã¹ãã§ããã«ããããããŸãã åŸæ¥ã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãéèŠã®å¢å ã«å¿ããŠé«å¯çšæ§ãã¯ãããžã远å ããå¿ èŠããããŸããã ãããŠãã®è³ªãæ§ã ã§ããã æ¬¡äžä»£ãœãªã¥ãŒã·ã§ã³ã¯ãé«å¯çšæ§ãã¢ãŒããã¯ãã£ã®äžæ žã«æ®ããŸãã ããšãã°ãMongoDB ã¯ã¯ã©ã¹ã¿ãªã³ã°ãäž»èŠãªãŠãŒã¹ã±ãŒã¹ãšããŠäœçœ®ä»ããŠããŸãã ã¯ã©ã¹ã¿ãŒã¯æ°Žå¹³æ¹åã«æ¡åŒµãããããããã® DBMS ã®åŒ·åãªç«¶äºäžã®å©ç¹ãšãªããŸãã
PostgreSQL ã«æ»ããŸãããã ããã¯æãå€ã人æ°ã®ãããªãŒãã³ãœãŒã¹ ãããžã§ã¯ãã® 95 ã€ã§ãæåã®ãªãªãŒã¹ã¯åäžçŽã® 8.2 幎ã«è¡ãããŸããã é·ãéããããžã§ã¯ã ããŒã ã¯é«å¯çšæ§ãã·ã¹ãã ã«ãã£ãŠå¯ŸåŠãããå¿ èŠãããåé¡ã§ãããšã¯èããŠããŸããã§ããã ãããã£ãŠãããŒã¿ã®ã³ããŒãäœæããã¬ããªã±ãŒã·ã§ã³ ãã¯ãããžã¯ 2006 幎ã®ããŒãžã§ã³ 2010 ã«ã®ã¿çµã¿èŸŒãŸããŸããããããã¯ãã¡ã€ã« ããŒã¹ (ãã° ã·ããã³ã°) ã§ããã 9.0 幎ã®ããŒãžã§ã³ XNUMX ã§ã¯ã¹ããªãŒãã³ã° ã¬ããªã±ãŒã·ã§ã³ãå°å ¥ããããããããŸããŸãªã¯ã©ã¹ã¿ãŒãäœæããããã®åºç€ãšãªã£ãŠããŸãã å®éãããã¯ãEnterprise SQL ãææ°ã® NoSQL ã®åŸã« PostgreSQL ã«æ £ã芪ããã 人ã«ãšã£ãŠã¯éåžžã«é©ãã¹ãããšã§ããã³ãã¥ããã£ã®æšæºãœãªã¥ãŒã·ã§ã³ã¯ãåçŽã«åæãŸãã¯éåæã¬ããªã±ãŒã·ã§ã³ãåãããã¹ã¿ãŒãšã¬ããªã«ã®ãã¢ã§ãã åæã«ãåšåº«ã§ã¯ãã¹ã¿ãŒã®åãæ¿ããæåã§è¡ãããã¯ã©ã€ã¢ã³ãã®åãæ¿ãã®åé¡ãç¬èªã«è§£æ±ºãããããšãææ¡ãããŠããŸãã
ä¿¡é Œæ§ã®é«ã PostgreSQL ãäœæããããšãã©ã®ããã«æ±ºå®ãããããããŠãã®ããã«äœãéžæããã
ããããç¶ç¶çãªæ³šæãå¿ èŠãšããªããã©ãŒã«ã ãã¬ã©ã³ã ãœãªã¥ãŒã·ã§ã³ã®æ§ç¯ã«åœ¹ç«ã€èšå€§ãªæ°ã®ãããžã§ã¯ããããŒã«ããªããã°ãPostgreSQL ã¯ããã»ã©æ®åããªãã£ãã§ãããã ã¯ã©ãŠãã®äžã§ (MCS) DBaaS ã®éå§ä»¥æ¥ãéåæã¬ããªã±ãŒã·ã§ã³ãåããåäžã® PostgreSQL ãµãŒããŒãšãã¹ã¿ãŒãšã¬ããªã«ã®ãã¢ãå©çšå¯èœã«ãªããŸããã
åœç¶ã®ããšãªãããç§ãã¡ã¯ãã¹ãŠã®äººã«ãšã£ãŠäœæ¥ã楜ã«ããåãæ¿ãã®ããã«åžžã«ç£èŠãããå€äžã«èµ·ãããããå¿ èŠããªããé«å¯çšæ§ãµãŒãã¹ã®åºç€ãšããŠæ©èœãã PostgreSQL ã€ã³ã¹ããŒã«ãå©çšã§ããããã«ããããšèããŠããŸããã ãã®ã»ã°ã¡ã³ãã«ã¯ãå€ãããå®çžŸã®ãããœãªã¥ãŒã·ã§ã³ãšãææ°ã®éçºã䜿çšããæ°ããäžä»£ã®ãŠãŒãã£ãªãã£ã®äž¡æ¹ããããŸãã
仿¥ãé«å¯çšæ§ã®åé¡ã¯åé·æ§ (ããã¯èšããŸã§ããããŸãã) ã«äŸåããŠããã®ã§ã¯ãªããã³ã³ã»ã³ãµã¹ãã€ãŸããªãŒããŒéžåºã¢ã«ãŽãªãºã ã«äŸåããŠããŸãã ã»ãšãã©ã®å Žåãé倧ãªäºæ ã¯ãµãŒããŒã®äžè¶³ãåå ã§ã¯ãªããã³ã³ã»ã³ãµã¹ã®åé¡ãåå ã§çºçããŸããã€ãŸããæ°ãããªãŒããŒãéžã°ããŠããªããXNUMX 人ã®ãªãŒããŒãç°ãªãããŒã¿ã»ã³ã¿ãŒã«çŸããŠãããªã©ã§ãã äŸ - Github MySQL ã¯ã©ã¹ã¿ãŒã§ã®äºæ - 圌ãã¯ããæžããŸãã .
ãã®åé¡ã®æ°åŠçæ ¹æ ã¯éåžžã«æ·±å»ã§ãã äžæ¹ã§ã ããã㯠HA ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããå¯èœæ§ã«çè«çãªå¶éã課ããŸãããäžæ¹ã§ãåæã決å®ããããã®æ°åŠçã«èšŒæãããã¢ã«ãŽãªãºã ã¯æ¬¡ã®ãšããã§ãã О ã ããã«åºã¥ããŠãéåžžã«äººæ°ã®ãã DCS (忣åã³ã³ã»ã³ãµã¹ ã·ã¹ãã )ãZookeeperãetcdãConsul ããããŸãã ãããã£ãŠãæææ±ºå®ã·ã¹ãã ãç¬èªã«äœæãããããçš®ã®ã¢ã«ãŽãªãºã ã§åäœããå Žåã¯ã现å¿ã®æ³šæãæã£ãŠæ±ãå¿ èŠããããŸãã èšå€§ãªæ°ã®ã·ã¹ãã ãåæããçµæã䞻㫠Zalando ãéçºãããªãŒãã³ãœãŒã¹ ã·ã¹ãã ã§ãã Patroni ã«èœã¡çããŸããã
äœè«ã«ãªããŸãããç§ãã¡ã¯ãã«ããã¹ã¿ãŒ ãœãªã¥ãŒã·ã§ã³ãã€ãŸãé²é³çšã«æ°Žå¹³æ¹åã«ã¹ã±ãŒãªã³ã°ã§ããã¯ã©ã¹ã¿ãŒãæ€èšãããšèšããŸãã ãã ããXNUMX ã€ã®äž»ãªçç±ã«ããããã®ãããªã¯ã©ã¹ã¿ãŒãäœæããªãããšã«ããŸããã ãŸãããã®ãããªãœãªã¥ãŒã·ã§ã³ã¯è€éããé«ãããããã£ãŠè匱æ§ãå€ããªããŸãã ãã¹ãŠã®ã±ãŒã¹ã«å¯ŸããŠå®å®ãã解決çãè¬ããããšã¯å°é£ã§ãã 第äºã«ããã®å ŽåãPostgreSQL ã¯çŽç² (ãã€ãã£ã) ã§ã¯ãªããªããäžéšã®æ©èœã䜿çšã§ããªããªããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯åäœäžã«é ãããã°ãååšããå¯èœæ§ããããŸãã
ããããŒã
ã§ã¯ãããããŒãã¯ã©ã®ããã«æ©èœããã®ã§ãããã? éçºè ã¯è»èŒªã®åçºæãè¡ãããå®çžŸã®ãã DCS ãœãªã¥ãŒã·ã§ã³ã® XNUMX ã€ãåºç€ãšããŠäœ¿çšããããšãææ¡ããŸããã æ§æã®åæããªãŒããŒãšå®è¶³æ°ã®éžåºã«é¢ãããã¹ãŠã®åé¡ã¯åœŒã«ä»»ãããŠããŸãã ãã®ããã« etcd ãéžæããŸããã
次ã«ãPatroni ã¯ãPostgreSQL ã®ãã¹ãŠã®èšå®ãšã¬ããªã±ãŒã·ã§ã³èšå®ã®æ£ããé©çšãããã³ã¹ã€ãããªãŒããŒãšãã§ã€ã«ãªãŒã㌠(ã€ãŸãããã¹ã¿ãŒã®å®æçããã³ç·æ¥åãæ¿ã) ã§ã®ã³ãã³ãã®å®è¡ãåŠçããŸãã ç¹ã« MCS ã¯ã©ãŠãã§ã¯ããã¹ã¿ãŒãåæã¬ããªã«ãããã³ 2 ã€ä»¥äžã®éåæã¬ããªã«ã®ã¯ã©ã¹ã¿ãŒãäœæã§ããŸãã åæã¬ããªã«ã®ååšã«ãããå°ãªããšã XNUMX å°ã®ãµãŒããŒäžã®ããŒã¿ã®å®å šæ§ã確ä¿ããããã®ã¬ããªã«ãäž»ãªããã¹ã¿ãŒåè£ãã«ãªããŸãã
etcd ã¯åããµãŒããŒã«ãããã€ããããããæé©ãªã¯ã©ãŒã©ã ãå®çŸããã«ã¯ããµãŒããŒã®æšå¥šæ°ã¯ 3 ãŸã㯠5 ã§ãã ãã®ãããªã¯ã©ã¹ã¿ãŒã¯èªã¿åãçšã«æ°Žå¹³æ¹åã«ã¹ã±ãŒãªã³ã°ããŸã (æžã蟌ã¿çšã®ã¹ã±ãŒãªã³ã°ã«ã€ããŠã¯äžã§æžããŸãã)ã ãã ããéåæã¬ããªã«ã¯ãç¹ã«é«è² è·æã«é å»¶ãçºçããåŸåãããããšã«æ³šæããŠãã ããã
ãã®ãããªãªãŒãã¬ããªã« (ãããã¹ã¿ã³ãã€) ã®äœ¿çšã¯ãã¬ããŒãã¿ã¹ã¯ãåæã¿ã¹ã¯ã«æ£åœåããããã¹ã¿ãŒãµãŒããŒã®è² è·ã軜æžããŸãã
ãã®ãããªã¯ã©ã¹ã¿ãŒãèªåã§äœæãããå Žåã¯ã以äžãå¿ èŠã«ãªããŸãã
- 3 ã€ä»¥äžã®ãµãŒããŒãæºåãããµãŒããŒéã® IP ã¢ãã¬ã¹æå®ãšãã¡ã€ã¢ãŠã©ãŒã« ã«ãŒã«ãæ§æããŸãã
- etcdãPatroniãPostgreSQL ãµãŒãã¹ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããŸãã
- etcd ã¯ã©ã¹ã¿ãŒãæ§æããŸãã
- PostgreSQL ã§åäœããããã« patroni ãµãŒãã¹ãæ§æããŸãã
ã€ãŸããåèšã§ XNUMX åã®æ§æãã¡ã€ã«ãæ£ããäœæããã©ãã«ããã¹ãããªãå¿ èŠããããŸãã ãã®ããã«ã¯ãããšãã° Ansible ãªã©ã®æ§æç®¡çããŒã«ãå¿ ã䜿çšããå¿ èŠããããŸãã ãã ããå¯çšæ§ã®é«ã TCP ãã©ã³ãµãŒã¯ãŸã ãããŸããã äœãã®ã¯å¥äœæ¥ã§ãã
æ¢è£œã®ã¯ã©ã¹ã¿ãŒãå¿ èŠã ããããããããããåãããã¯ãªããšãã人ã®ããã«ãç§ãã¡ã¯äœæ¥ãç°¡çŽ åããããã«ãã¯ã©ãŠãå ã® Patroni äžã«æ¢è£œã®ã¯ã©ã¹ã¿ãŒãäœæããŸãããç¡æã§ãã¹ãã§ããŸãã ã¯ã©ã¹ã¿ãŒèªäœã«å ããŠã次ã®ããšãè¡ããŸããã
- TCPãã©ã³ãµã ç°ãªãããŒãã§ã¯ãåžžã«çŸåšã®ãã¹ã¿ãŒãåæã¬ããªã«ããŸãã¯éåæã¬ããªã«ãããããæããŸãã
- ã¢ã¯ãã£ããªPatroniãã¹ã¿ãŒãåãæ¿ããããã®APIã
ãããã«ã¯ãMCS ã¯ã©ãŠã API ããã³ Web ã³ã³ãœãŒã«çµç±ã§ã¢ã¯ã»ã¹ã§ããŸãã
ÐеЌП
MCS ã¯ã©ãŠãã§ PostgreSQL ã¯ã©ã¹ã¿ãŒã®æ©èœããã¹ãããããã«ãDBMS ã«åé¡ãçºçããå Žåã«ã©ã€ã ã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«åäœããããèŠãŠã¿ãŸãããã
以äžã¯ã人çºçãªã€ãã³ãããã°ã«èšé²ãããããç»é¢ã«å ±åããã¢ããªã±ãŒã·ã§ã³ã®ã³ãŒãã§ãã ãšã©ãŒãçºçããå Žåããããå ±åãããCtrl + C ã®çµã¿åããã§åæ¢ãããŸã§ã«ãŒãã§äœæ¥ãç¶è¡ãããŸãã
from __future__ import print_function
from datetime import datetime
from random import randint
from time import sleep
import psycopg2
def main():
try:
connection = psycopg2.connect(user = "admin",
password = "P@ssw0rd",
host = "89.208.87.38",
port = "5432",
database = "myproddb")
cursor = connection.cursor()
cursor.execute("SELECT version();")
record = cursor.fetchone()
print("Connection opened to", record[0])
cursor.execute(
"INSERT INTO log VALUES ({});".format(randint(1, 10000)))
connection.commit()
cursor.execute("SELECT COUNT(event_id) from log;")
record = cursor.fetchone()
print("Logged a value, overall count: {}".format(record[0]))
except Exception as error:
print ("Error while connecting to PostgreSQL", error)
finally:
if connection:
cursor.close()
connection.close()
print("Connection closed")
if __name__ == '__main__':
try:
while True:
try:
print(datetime.now())
main()
sleep(3)
except Exception as e:
print("Caught error:n", e)
sleep(1)
except KeyboardInterrupt:
print("exit")
ã¢ããªã±ãŒã·ã§ã³ãåäœããã«ã¯ PostgreSQL ãå¿ èŠã§ãã API ã䜿çšã㊠MCS ã¯ã©ãŠãã«ã¯ã©ã¹ã¿ãŒãäœæããŸãããã éåžžã®ã¿ãŒããã«ã§ã¯ãOS_TOKEN 倿°ã« API ã«ã¢ã¯ã»ã¹ããããã®ããŒã¯ã³ (openstack token issue ã³ãã³ãã§ååŸã§ããŸã) ãå«ãŸããŠãããæ¬¡ã®ã³ãã³ããå ¥åããŸãã
ã¯ã©ã¹ã¿ãŒãäœæããŸãã
cat <<EÐF > pgc10.json
{"cluster":{"name":"postgres10","allow_remote_access":true,"datastore":{"type":"postgresql","version":"10"},"databases":[{"name":"myproddb"}],"users":[{"databases":[{"name":"myproddb"}],"name":"admin","password":"P@ssw0rd"}],"instances":[{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}},{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}},{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}}]}}
EOF
curl -s -H "X-Auth-Token: $OS_TOKEN"
-H 'Accept: application/json'
-H 'Content-Type: application/json'
-d @pgc10.json https://infra.mail.ru:8779/v1.0/ce2a41bbd1434013b85bdf0ba07c770f/clusters

ã¯ã©ã¹ã¿ãŒã ACTIVE ã¹ããŒã¿ã¹ã«åãæ¿ãããšããã¹ãŠã®ãã£ãŒã«ããçŸåšã®å€ãåãåããŸããã¯ã©ã¹ã¿ãŒã®æºåã¯å®äºã§ãã
GUI ã®å Žå:

æ¥ç¶ããŠããŒãã«ãäœæããŠã¿ãŸãããã
psql -h 89.208.87.38 -U admin -d myproddb
Password for user admin:
psql (11.1, server 10.7)
Type "help" for help.
myproddb=> CREATE TABLE log (event_id integer NOT NULL);
CREATE TABLE
myproddb=> INSERT INTO log VALUES (1),(2),(3);
INSERT 0 3
myproddb=> SELECT * FROM log;
event_id
----------
1
2
3
(3 rows)
myproddb=>

ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãPostgreSQL ã«æ¥ç¶ããããã®çŸåšã®èšå®ã瀺ããŸãã TCP ãã©ã³ãµãŒã®ã¢ãã¬ã¹ãæå®ããããšã§ããã¹ã¿ãŒ ã¢ãã¬ã¹ã«æåã§åãæ¿ããå¿
èŠããªããªããŸãã èµ·åããŸãããã ã芧ã®ãšãããã€ãã³ãã¯ããŒã¿ããŒã¹ã«æ£åžžã«èšé²ãããŠããŸãã

ã¹ã±ãžã¥ãŒã«ããããã¹ã¿ãŒåãæ¿ã
次ã«ãã¹ã±ãžã¥ãŒã«ããããã¹ã¿ãŒåãæ¿ãäžã®ã¢ããªã±ãŒã·ã§ã³ã®åäœããã¹ãããŠã¿ãŸãããã

ç§ãã¡ã¯ã¢ããªã±ãŒã·ã§ã³ãç£èŠããŠããŸãã ã¢ããªã±ãŒã·ã§ã³ã確ãã«äžæãããŠããããšãããããŸãããããã«ãããæéã¯ãããæ°ç§ããã®ç¹å®ã®ã±ãŒã¹ã§ã¯æå€§ 9 ç§ã§ãã

èªåè»äºæ
次ã«ãçŸåšã®ãã¹ã¿ãŒã§ããä»®æ³ãã·ã³ã®ã¯ã©ãã·ã¥ãã·ãã¥ã¬ãŒãããŠã¿ãŸãããã Horizoâân ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠä»®æ³ãã·ã³ãåçŽã«ãªãã«ããããšãã§ããŸãããããã¯éåžžã®ã·ã£ããããŠã³ã«ãªããŸãã ãã®ãããªåãæ¿ãã¯ãPatroni ãå«ããã¹ãŠã®ãµãŒãã¹ã«ãã£ãŠåŠçãããŸãã
äºæž¬ã§ããªãã·ã£ããããŠã³ãå¿ èŠã§ãã ãããã£ãŠãç§ã¯ç®¡çè ã«ããã¹ãç®çã§ä»®æ³ãã·ã³ (çŸåšã®ãã¹ã¿ãŒ) ãéæšæºçãªæ¹æ³ã§ã·ã£ããããŠã³ããããã«äŸé ŒããŸããã

åæã«ãã¢ããªã±ãŒã·ã§ã³ã¯åŒãç¶ãåäœããŸããã åœç¶ã®ããšãªããããã®ãããªãã¹ã¿ãŒã®ç·æ¥åãæ¿ããç¡èŠãããã¯ãã¯ãããŸããã
2019-03-29 10:45:56.071234
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 453
Connection closed
2019-03-29 10:45:59.205463
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 454
Connection closed
2019-03-29 10:46:02.661440
Error while connecting to PostgreSQL server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Caught error:
local variable 'connection' referenced before assignment
âŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠâŠ.. - зЎеÑÑ ÐºÐ°ÐºÐŸÐµ-ÑП кПлОÑеÑÑвП ПÑОбПк
2019-03-29 10:46:30.930445
Error while connecting to PostgreSQL server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Caught error:
local variable 'connection' referenced before assignment
2019-03-29 10:46:31.954399
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 455
Connection closed
2019-03-29 10:46:35.409800
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 456
Connection closed
^Cexit
ã芧ã®ãšãããã¢ããªã±ãŒã·ã§ã³ã¯ 30 ç§ä»¥å ã«äœæ¥ãç¶è¡ã§ããŸããã ã¯ããäžå®æ°ã®ãµãŒãã¹ ãŠãŒã¶ãŒã¯åé¡ã«æ°ã¥ãæéããããŸãã ãã ããããã¯æ·±å»ãªãµãŒããŒé害ã§ãããé »ç¹ã«çºçãããã®ã§ã¯ãããŸããã ãã®å Žåã人 (管çè ) ã¯ãã³ã³ãœãŒã«ã«åº§ã£ãŠåãæ¿ãã¹ã¯ãªããã®æºåãã§ããŠããªãéããããã»ã©è¿ éã«å¯Ÿå¿ããæéã¯ã»ãšãã©ãããŸããã§ããã
åºå
ãã®ãããªã¯ã©ã¹ã¿ãŒã¯ç®¡çè
ã«ãšã£ãŠéåžžã«ã¡ãªãããããããã«æããŸãã å®éãããŒã¿ããŒã¹ ãµãŒããŒã®éå€§ãªæ
éãé害ã¯ãã¢ããªã±ãŒã·ã§ã³ãã²ããŠã¯ãŠãŒã¶ãŒã«ã¯æ°ä»ãããŸããã æ¥ãã§äœããä¿®æ£ããããäžæçãªæ§æããµãŒããŒãªã©ã«åãæ¿ããå¿
èŠã¯ãããŸããã ãŸãããã®ãããªãœãªã¥ãŒã·ã§ã³ãã¯ã©ãŠãå
ã®æ¢è£œã®ãµãŒãã¹ãšããŠäœ¿çšãããã°ãæºåã«æéãç¡é§ã«ããå¿
èŠã¯ãããŸããã ãã£ãšé¢çœãããšãã§ããããã«ãªãã§ãããã
åºæïŒ habr.com
