การทำคลัสเตอร์ RabbitMQ บน CentOS 7

RabbitMQ เป็นนายหน้าข้อความโอเพนซอร์ซที่รองรับ AMQP, STOMP และเทคโนโลยีการสื่อสารอื่น ๆ มีการใช้กันอย่างแพร่หลายในแอพพลิเคชั่นระดับองค์กรและสถาปัตยกรรมบริการไมโครที่ทันสมัยซึ่งทำหน้าที่เป็นช่องทางข้อความแบบอะซิงโครนัสระหว่างบริการไมโครที่แตกต่างกัน คู่มือนี้จะอธิบายวิธีที่คุณสามารถทำคลัสเตอร์ RabbitMQ บนเซิร์ฟเวอร์ CentOS 7 หลายเครื่องเพื่อจัดทำนายหน้าข้อความที่พร้อมใช้งานสูง ในบทช่วยสอนนี้เซิร์ฟเวอร์หนึ่งจะทำหน้าที่เป็นเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์อื่นจะทำหน้าที่เป็นเซิร์ฟเวอร์มิเรอร์ในกรณีที่เซิร์ฟเวอร์หลักไม่พร้อมใช้งาน

ข้อกำหนดเบื้องต้น

  • อย่างน้อยสองอินสแตนซ์ CentOS 7 ที่ปรับใช้ใหม่และอัพเดตในซับเน็ตเดียวกันกับเครือข่ายส่วนตัวที่เปิดใช้งาน
  • RabbitMQ ติดตั้งโดยเปิดใช้งานคอนโซลการจัดการในแต่ละเซิร์ฟเวอร์ (ดูวิธีการติดตั้ง RabbitMQ บน CentOS 7 )
  • ผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบที่มีสิทธิ์ sudo (ดูวิธีการใช้ Sudo บน Debian, CentOS และ FreeBSD )

กำหนดค่าไฟร์วอลล์

ไฟร์วอลล์ CentOS ( firewalld) ไม่อนุญาตการรับส่งข้อมูลขาเข้าใด ๆ โดยค่าเริ่มต้น ในการทำให้ RabbitMQ พร้อมใช้งานสำหรับระบบอื่น ๆ ทั้งในและนอกเครือข่ายและเพื่อให้เราสามารถเข้าถึงคอนโซลการจัดการอันดับแรกเราต้องเปิดพอร์ตบางพอร์ต

เว็บคอนโซลการจัดการอินเตอร์เฟซของ RabbitMQ 15672ฟังโดยเริ่มต้นในพอร์ต เราต้องการให้คอนโซลการจัดการเปิดเผยต่อสาธารณะเพื่อให้เราสามารถเข้าถึงได้จากคอมพิวเตอร์ของเรา ดังนั้นเราจะแนะนำfirewalldให้เปิดพอร์ตอย่างถาวร15672ในโซนสาธารณะ (ซึ่งเป็นค่าเริ่มต้นและโซนที่ใช้งานบนอินสแตนซ์ Vultr)

sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent

โหนด RabbitMQ จะต้องสามารถสื่อสารกันได้ เราต้องการเปิดพอร์ตที่จำเป็น แต่ผ่านเครือข่ายภายในเท่านั้น เราไม่ต้องการให้ใครก็ตามบนอินเทอร์เน็ตสามารถจัดการหรือติดต่อเซิร์ฟเวอร์ของเราโดยตรง คำสั่งต่อไปนี้สมมติว่าเซิร์ฟเวอร์ของเราอยู่ใน192.168.0.100/24ซับเน็ต

บริการแรกคือepmdการค้นพบบริการ peer 4369ซึ่งฟังโดยเริ่มต้นในพอร์ต

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/24"
  port protocol="tcp" port="4369" accept'

สำหรับการสื่อสารระหว่าง internode และ CLI RabbitMQ จะต้องสามารถสื่อสารผ่านพอร์ต25672ได้

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/24"
  port protocol="tcp" port="25672" accept'

เครื่องมือ CLI 35672-35682สื่อสารผ่านพอร์ตช่วง

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/24"
  port protocol="tcp" port="35672-35682" accept'

หากใช้งานของคุณต้องโปรโตคอล AMQP คุณยังจะต้องเปิดพอร์ตและ5671 5672หากคุณจำเป็นต้องมีความสามารถในการสื่อสารผ่านโปรโตคอลอื่นคุณสามารถหาข้อมูลที่จำเป็นเกี่ยวกับความต้องการของเครือข่าย RabbitMQ ในเอกสาร RabbitMQ อย่างเป็นทางการ

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/24"
  port protocol="tcp" port="5672" accept'

sudo firewall-cmd --permanent --zone=public --add-rich-rule='
  rule family="ipv4"
  source address="192.168.0.100/24"
  port protocol="tcp" port="5671" accept'

ตอนนี้firewalldมีการกำหนดค่าเราจำเป็นต้องสั่งให้โหลดการกำหนดค่าอีกครั้ง

sudo firewall-cmd --reload

ทำซ้ำขั้นตอนจากส่วนนี้ในเซิร์ฟเวอร์ทั้งหมด

ติดตั้ง rabbitmqadmin

ปลั๊กอินการจัดการมาพร้อมกับเครื่องมือ Python rabbitmqadminที่สามารถติดตั้งได้ง่ายในระบบเมื่อเปิดใช้งานปลั๊กอินการจัดการ

sudo wget http://localhost:15672/cli/rabbitmqadmin
sudo mv rabbitmqadmin /usr/local/bin/
sudo chmod +x /usr/local/bin/rabbitmqadmin

กำหนดค่า DNS

คุณต้องใช้ชื่อโฮสต์ของเซิร์ฟเวอร์เพื่อระบุเซิร์ฟเวอร์เมื่อทำการรวมกลุ่ม โดยค่าเริ่มต้นเซิร์ฟเวอร์ไม่มีการบันทึก DNS และการเชื่อมต่อจะล้มเหลว หากต้องการเอาชนะสิ่งนี้อย่างรวดเร็วให้เพิ่มชื่อโฮสต์และมิเรอร์โฮสต์ใน/etc/hostsไฟล์โดยใช้เครื่องมือแก้ไขที่คุณชื่นชอบ

ตัวอย่างเช่นไฟล์โฮสต์ของต้นแบบของคุณอาจมีลักษณะดังต่อไปนี้ สังเกตเห็นสองเรคคอร์ดล่าสุดซึ่งอนุญาตให้เซิร์ฟเวอร์ระบุชื่อโฮสต์ด้วยกัน อย่าลืมเปลี่ยนที่อยู่ IP เป็นของคุณเอง

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

127.0.0.1 guest
::1       guest

127.0.0.1 YOUR_MASTER_SERVER_HOST_NAME
::1       YOUR_MASTER_SERVER_HOST_NAME


192.168.0.101 YOUR_MASTER_SERVER_HOST_NAME
192.168.0.102 YOUR_MIRROR_SERVER_HOST_NAME

ทำคลัสเตอร์โหนด

ข้อกำหนดเบื้องต้นการนำเข้าเพื่ออนุญาตให้โหนดเข้าร่วมซึ่งกันและกันคือคุกกี้ Erlang ของโหนดทั้งหมดเหมือนกัน โดยค่าเริ่มต้นแต่ละโหนดจะได้รับคุกกี้ Erlang ที่ไม่ซ้ำกันดังนั้นคุณต้องกำหนดค่าใหม่บนทุกโหนด

คำสั่งต่อไปนี้จะตั้งค่าคุกกี้ Erlang เป็น " WE<3COOKIES" แต่คุณสามารถเปลี่ยนได้ตามความต้องการของคุณ ทำสิ่งนี้กับเซิร์ฟเวอร์ทั้งหมด

sudo sh -c "echo 'WE<3COOKIES' > /var/lib/rabbitmq/.erlang.cookie"

รีสตาร์ท RabbitMQ บนเซิร์ฟเวอร์ทั้งหมดเพื่อให้แน่ใจว่าคุกกี้ Erlang ถูกโหลดใหม่อย่างถูกต้อง

sudo systemctl restart rabbitmq-server.service

ดำเนินการคำสั่งต่อไปนี้บนเซิร์ฟเวอร์ทั้งหมดยกเว้นบ��เซิร์ฟเวอร์หลัก สิ่งนี้จะทำให้โหนดเข้าร่วมเซิร์ฟเวอร์หลักและสร้างคลัสเตอร์

sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster "rabbit@<YOUR_MASTER_SERVER_HOST_NAME>"
sudo rabbitmqctl start_app

ตรวจสอบว่าโหนดได้เข้าร่วมคลัสเตอร์โดยการรันคำสั่งต่อไปนี้

sudo rabbitmqctl cluster_status

โหนดทั้งหมดของคุณจะปรากฏในnodesและrunning_nodesส่วนของเอาต์พุต จากนี้ไปคุณไม่จำเป็นต้องทำซ้ำขั้นตอนในแต่ละเซิร์ฟเวอร์อีกต่อไปการกำหนดค่าจะถูกทำมิเรอร์โดยอัตโนมัติไปยังโหนดอื่น

สร้างนโยบายความพร้อมใช้งานสูง

ตอนนี้เรามีคลัสเตอร์ของโหนด RabbitMQ เราสามารถใช้สิ่งนี้เพื่อสร้างคิวและแลกเปลี่ยนที่มีความพร้อมใช้งานสูงโดยการตั้งค่านโยบายใหม่ นโยบายนี้สามารถเพิ่มผ่าน RabbitMQ Management Console หรือใช้อินเตอร์เฟสบรรทัดคำสั่ง

sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "all" ha ".*" '{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}'

รายการต่อไปนี้จะอธิบายความหมายของแต่ละส่วนของคำสั่ง

  • -p "/": ใช้นโยบายนี้บน"/"vhost (ค่าเริ่มต้นหลังการติดตั้ง)
  • --priority 1: ลำดับการใช้นโยบาย
  • --apply-to "all": สามารถ"queues", "exchanges"หรือ"all"
  • ha: ชื่อที่เราให้กับนโยบายของเรา
  • ".*": นิพจน์ทั่วไปที่ใช้ในการตัดสินใจว่าจะใช้คิวหรือการแลกเปลี่ยนนโยบายนี้อย่างไร ".*"จะจับคู่อะไรก็ได้
  • '{ "ha-mode": "exactly", "ha-params": 2, "ha-sync-mode": "automatic"}': การแสดง JSON ของนโยบาย เอกสารนี้อธิบายว่าเราต้องการ - มี 2 โหนที่ข้อมูลจะถูกซิงโครไนซ์โดยอัตโนมัติ

โดยสรุปนโยบายนี้จะทำให้มั่นใจได้ว่าเราจะมี 2 สำเนาของข้อมูลในคิวหรือแลกเปลี่ยนตราบเท่าที่เรามีอย่างน้อย 2 โหนดและทำงาน หากคุณมีโหนดมากขึ้นคุณสามารถเพิ่มมูลค่าha-paramsได้ แนะนำให้ใช้โควรัม ( N/2 + 1) ของโหนด การมีสำเนาข้อมูลของคุณมากขึ้นจะส่งผลให้มีดิสก์เพิ่มขึ้น i / o และการใช้งานสุทธิซึ่งอาจส่งผลให้ประสิทธิภาพการทำงานลดลง

หากคุณต้องการทำมิรเรอร์ข้อมูลไปยังโหนดทั้งหมดในคลัสเตอร์คุณสามารถใช้เอกสาร JSON ต่อไปนี้

'{ "ha-mode": "all", "ha-sync-mode": "automatic"}'

หากคุณต้องการทำมิรเรอร์ข้อมูลเฉพาะโหนดที่เฉพาะเจาะจง (เช่น: node-1และnode-2) คุณสามารถใช้สิ่งต่อไปนี้

'{ "ha-mode": "nodes", "ha-params" :["rabbit@node-1", "rabbit@node-2"], "ha-sync-mode": "automatic"}'

คุณสามารถเปลี่ยนนิพจน์ทั่วไปเพื่อกำหนดนโยบายต่าง ๆ ให้กับคิวที่ต่างกัน สมมติว่าเรามีสามโหนดต่อไปนี้:

  • กระต่าย @ ต้นแบบ
  • กระต่าย @ ลูกค้าฮ่า
  • กระต่าย @ ผลิตภัณฑ์ฮ่า

จากนั้นเราสามารถสร้างนโยบายสองข้อซึ่งจะทำให้คิวมีชื่อที่ขึ้นต้นด้วย "ไคลเอนต์" เพื่อทำมิเรอร์ไปยังrabbit@client-haโหนดและคิวทั้งหมดที่มีชื่อซึ่งเริ่มต้นด้วย "ผลิตภัณฑ์" เพื่อทำมิเรอร์ไปยังrabbit@product-haโหนด

sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-client "client.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@client-ha"], "ha-sync-mode": "automatic"}
sudo rabbitmqctl set_policy -p "/" --priority 1 --apply-to "queues" ha-product "product.*" '{ "ha-mode": "nodes", "ha-params": ["rabbit@master", "rabbit@product-ha"], "ha-sync-mode": "automatic"}

ข้อสังเกตเล็กน้อยที่นี่: คิวพิเศษไม่เคยสะท้อนหรือทนทานใน RabbitMQ แม้ว่านโยบายนี้จะจับคู่กับคิวดังกล่าว คิวพิเศษจะถูกทำลายโดยอัตโนมัติเมื่อลูกค้ายกเลิกการเชื่อมต่อและจะไม่มีประโยชน์ในการทำซ้ำไปยังเซิร์ฟเวอร์อื่น หากเซิร์ฟเวอร์ล้มเหลวไคลเอ็นต์จะตัดการเชื่อมต่อจากนั้นและคิวจะถูกทำลายโดยอัตโนมัติ อินสแตนซ์ที่มิร์เรอร์จะถูกทำลายเช่นกัน

ทดสอบการตั้งค่า

เพื่อทดสอบการตั้งค่าแบบคลัสเตอร์เราสามารถสร้างคิวใหม่โดยใช้อินเตอร์เฟสบรรทัดคำสั่งผ่านคอนโซลการจัดการ

sudo rabbitmqadmin declare queue --vhost "/" name=my-ha-queue durable=true

นี้จะสร้างคิวคงทนในการเริ่มต้น/vhost my-ha-queueที่มีชื่อ

รันคำสั่งต่อไปนี้และตรวจสอบผลลัพธ์ที่คิวได้กำหนดนโยบาย 'ha' ของเราไว้และมี pid บนต้นแบบและบนโหนดกระจก

sudo rabbitmqctl list_queues name policy state pid slave_pids

ตอนนี้เราสามารถเผยแพร่ข้อความไปยังคิวจากโหนดหลักและหยุด RabbitMQ บนโหนดหลัก

sudo rabbitmqadmin -u user_name -p password  publish routing_key=my-ha-queue payload="hello world"
sudo systemctl rabbitmqctl shutdown

ตอนนี้รับกลับโดยเชื่อมต่อกับโหนดกระจก

 sudo rabbitmqadmin -H MIRROR_NODE_IP_OR_DNS -u user_name -p password get queue=my-ha-queue

ในที่สุดเราสามารถรีสตาร์ทโหนดหลักของเรา

sudo systemctl start rabbitmq-server.service

ลบผู้ใช้เกสต์

ดังที่ได้กล่าวมาแล้ว RabbitMQ จะสร้างผู้ใช้ของแขกโดยอัตโนมัติด้วยรหัสผ่านของผู้เยี่ยมชมเริ่มต้น มันจะเป็นการปฏิบัติที่ไม่ดีที่จะปล่อยให้ผู้ใช้เริ่มต้นนี้บนระบบเปิดเผยต่อสาธารณะ

sudo rabbitmqctl delete_user guest


Leave a Comment

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง

วิธีการติดตั้ง PrestaShop บน CentOS 7

วิธีการติดตั้ง PrestaShop บน CentOS 7

PrestaShop เป็นโซลูชันอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ได้รับความนิยม คุณสามารถใช้มันเพื่อสร้างร้านค้าออนไลน์ของคุณเองได้ฟรี ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่า

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน