1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế hệ sinh thái công nghệ cho học viện khoa học xã hội việt nam phục vụ công tác chuyển đổi số quốc gia

87 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Hệ Sinh Thái Công Nghệ Cho Học Viện Khoa Học Xã Hội Việt Nam Phục Vụ Công Tác Chuyển Đổi Số Quốc Gia
Tác giả Hoàng Thế Trung
Người hướng dẫn TS. Đinh Tuấn Long
Trường học Đại học Mở Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại luận văn thạc sĩ
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 87
Dung lượng 3,43 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI LUẬN VĂN THẠC SỸ ĐỀ TÀI: THIẾT KẾ HỆ SINH THÁI CÔNG NGHỆ CHO HỌC VIỆN KHOA HỌC XÃ HỘI VIỆT NAM PHỤC VỤ CÔNG TÁC CHUYỂN ĐỔI SỐ QUỐC GIA HỌ VÀ TÊN TÁC GIẢ Hoàng Thế Trung CHUYÊN NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ: 84.80.2018 NGƯỜI HƯỚNG DẪN KHOA HỌC TS Đinh Tuấn Long Hà Nội - 2023 LỜI CẢM ƠN Để hoàn thành chương trình cao học viết luận văn này, tơi nhận hướng dẫn, giúp đỡ góp ý nhiệt tình q thầy trường Đại học Mở Hà Nội Trước hết, tơi xin bày tỏ lịng biết ơn sâu sắc đến Đinh Tuấn Long hướng dẫn thực luận văn Xin bày tỏ lịng biết ơn chân thành tới thầy giáo, người đem lại cho kiến thức bổ trợ vơ có ích năm học vừa qua Cũng xin gửi lời cảm ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau đại học, Đại học Mở Hà Nội tạo điều kiện cho tơi q trình học tập Cuối tơi xin gửi lời cảm ơn đến gia đình, bạn bè, người ln bên tơi, động viên khuyến khích tơi q trình thực đề tài nghiên cứu Hà Nội, ngày……tháng……năm 2023 Hồng Thế Trung LỜI CAM ĐOAN Tôi xin cam đoan rằng, kết nghiên cứu tơi có giúp đỡ lớn thầy hướng dẫn bạn bè Các nội dung nghiên cứu kết đề tài hoàn toàn trung thực Trong luận văn, tơi có tham khảo đến số tài liệu số tác giả liệt kê phần tài liệu tham khảo cuối luận văn Học viên Hoàng Thế Trung MỤC LỤC DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT DANH MỤC HÌNH ẢNH MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ HỆ SINH THÁI CÔNG NGHỆ 12 1.1 KHÁI NIỆM VỀ HỆ SINH THÁI CÔNG NGHỆ 12 Tổng quan 12 Tầm quan trọng hệ sinh thái công nghệ 14 1.2 MỘT SỐ HỆ SINH THÁI CÔNG NGHỆ TRONG THỰC TIỄN 14 1.2.1 Hệ sinh thái công nghệ mạng xã hội Facebook 15 1.2.2 Hệ sinh thái công nghệ Google 16 1.2.3 Hệ sinh thái công nghệ tập đoàn FPT 21 1.2.4 Hệ sinh thái sản phẩm phần mềm quản trị thông minh ITG 23 1.3 Nền tảng công nghệ phục vụ cho xây dựng hệ sinh thái 25 1.3.1 Cơng nghệ điện tốn đám mây 26 1.3.2 Kiến trúc phần mềm theo Microservices 30 1.3.3 Advanced Message Queuing Protocol (AMQP) 32 1.4 KẾT LUẬN 37 CHƯƠNG THỰC TRẠNG PHÁT TRIỂN HỆ SINH THÁI CÔNG NGHỆ VÀ ĐỊNH HƯỚNG PHƯƠNG PHÁP XÂY DỰNG HỆ SINH THÁI CÔNG NGHỆ TRONG MÔI TRƯỜNG ĐẠI HỌC 38 2.1 Hệ thống văn pháp luật phát triển, ứng dụng CNTT xây dựng mô hình đại học số 38 2.2 Thực trạng phát triển hệ sinh thái công nghệ giới kinh nghiệm phát triển Việt Nam 39 2.2.1 Phát triển hệ sinh thái công nghệ giới 39 2.2.2 Phát triển hệ sinh thái công nghệ trường đại học 45 2.3 Định hướng xây dựng hệ sinh thái công nghệ trường Đại học Việt Nam 47 2.3.1 Định hướng mặt nghiệp vụ 48 2.3.2 Định hướng mặt kỹ thuật 48 2.3.3 Nguyên tắc ứng dụng CNTT 49 2.4 Kết luận 51 CHƯƠNG ĐỀ XUẤT XÂY DỰNG HỆ SINH THÁI CÔNG NGHỆ VÀ GIẢI PHÁP CÂN BẰNG TẢI CHO HỆ THỐNG QUẢN LÝ HÀNG ĐỢI TIN NHẮN TRONG HỆ SINH THÁI CÔNG NGHỆ TẠI 52 HỌC VIỆN KHOA HỌC XÃ HỘI 52 3.1 Mục tiêu xây dựng Hệ sinh thái công nghệ phục vụ phát triển đại học số 52 3.2 Sơ lược hệ thống công nghệ phục vụ điều hành Học viện 52 3.3 Xây dựng hệ sinh thái công nghệ phục vụ chuyển đổi số Học viện 54 3.3.1 Xác định tác nhân hệ sinh thái công nghệ 55 3.3.2 Các module hệ sinh thái công nghệ 56 3.3.3 Nghiên cứu đề xuất mơ hình hệ thống hạ tầng mạng cho hệ sinh thái công nghệ Học viện 61 3.4 Nghiên cứu triển khai giải pháp cân tải cho hệ thống quản lý hàng đợi tin nhắn (Message Queue - MQ) 66 3.4.1 Vai trò ý nghĩa hệ thống cân tải 66 3.4.2 Mục tiêu toán 66 3.4.3 Giải toán cân tải cho hệ thống 69 3.5 Việc tăng cường bảo mật liệu cho hệ thống hạ tầng 72 3.4 Kết luận 73 KẾT LUẬN 75 TÀI LIỆU THAM KHẢO 76 PHỤ LỤC 78 1.1 Cài đặt cấu hình RabbitMQ 78 1.2 Cài đặt cấu hình HAProxy 86 DANH MỤC KÝ HIỆU, TỪ VIẾT TẮT Từ viết tắt Từ tiếng Anh Từ cụm từ AI Artificial Intelligence Trí tuệ nhân tạo AMQP Advanced Message Queuing Protocol Giao thức tin nhắn hàng đợi nâng cao API Application Programming Interface Giao diện lập trình ứng dụng An tồn thơng tin ATTT AWS Amazon Web Services Dịch vụ web Amazon CDN Content Delivery Network Mạng phân phối nội dung Công nghệ thông tin CNTT DDoS Distributed Denial of Services Từ chối dịch vụ phần tán ERP Enterprise Resources Planning Hoạch định tài nguyên doanh nghiệp GCP Google Cloud Platform Nền tảng đám mây Google M&A Mergers and Acquisitions Sát nhập mua lại MQ Message Queue Hàng đợi tin nhắn VPS Virtual Private Server Máy chủ riêng ảo DANH MỤC HÌNH ẢNH Hình 1.1: Hệ sinh thái công nghệ ứng dụng Facebook (www.hernaes.com) 15 Hình 1.2: Tương tác nhóm đối tượng hệ sinh thái Facebook (thevalueengineers.nl) 16 Hình 1.3: Hệ sinh thái cơng nghệ Google giành cho lĩnh vực giáo dục 17 Hình 1.4: Hệ sinh thái Android Google Inc (Nguồn: https://google.com) 19 Hình 1.5: Số lượng ứng dụng di động chợ điện tử Google Play 20 Hình 1.6: Thống kê hệ điều hành cho thiết bị di động chia sẻ (nguồn Statista) 21 Hình 1.7: Hệ sinh thái cơng nghệ tập đoàn FPT (Nguồn: https://www.vinasa.org.vn/) 22 Hình 1.8: Hệ sinh thái sản phẩm phần mềm từ ITG với hệ thống lõi 3S ERP các giải pháp nhà máy thông minh doanh nghiệp thông minh (nguồn: https://vnexpress.net/) 24 Hình 1.9: Hệ thống ERP phân hệ hệ sinh thái phần mềm doanh nghiệp (nguồn: https://www.mirnah.com/) 25 Hình 1.10: Quy trình phát triển ứng dụng phần mềm thực tự động cloud (nguồn: https://gblogs.cisco.com/) 27 Hình 1.11: Khả tự mở rộng theo yêu cầu sử dụng điện toán đám mây.(nguồn: https://avinetworks.com/) 29 Hình 1.12: Kiến trúc phần mềm theo kiểu microservices (nguồn: https://thefabricnet.com/) 31 Hình 1.13: Hệ thống Message Queue xử lý yêu cầu hệ thống 33 Hình 1.14: Hệ thống đa dịch vụ sử dụng RabbitMQ quản lý tin nhắn (Nguồn: https://jstobigdata.com/) 34 Hình 1.15: Kiến trúc hệ thống En Marche! [15] 36 Hình 2.1: Bước phân tích xác định mục đích yêu cầu hệ sinh thái 42 Hình 2.2: Bước thiết kế hệ sinh thái công nghệ 44 Hình 2.3: Bước thực đánh giá giám sát hoạt động hệ sinh thái 45 Hình 3.1: Cấu trúc tổng quan Hệ thống quản lý Đại học điện tử Học viện 59 Hình 3.2: Sơ đồ kết nối thành phần hệ thống tác nghiệp 60 Hình 3.3: Mơ hình microservice triển khai dịch vụ hệ sinh thái 61 Hình 3.4: Mơ hình triển khai cho hệ thống hệ sinh thái cơng nghệ 65 Hình 3.5: Mơ hình thử nghiệm với single node 68 Hình 3.6: Mơ hình triển khai cluster với RabbitMQ 68 Hình 3.7: Mơ hình triển khai hệ thống AWS 69 Hình 3.8: Kết test hiệu xuất RabbitMQ single node 70 Hình 3.9: Kết test hiệu xuất RabbitMQ single node 71 Hình 3.10: Kết test hiệu xuất RabbitMQ cluster 72 MỞ ĐẦU Lý chọn đề tài Chuyển đổi số trình chuyển từ mơ hình truyền thống sang mơ hình số cách ứng dụng công nghệ liệu lớn (Big Data), Internet vạn vật (IoT), điện tốn đám mây (Cloud)…, phần mềm cơng nghệ để thay đổi phương thức điều hành, quy trình làm việc, văn hóa cơng ty Khơng dừng lại đó, Chuyển đổi số cịn tạo mơ hình hoạt động mới, sản phẩm dịch vụ nâng cao chất lượng trải nghiệm dịch vụ người sử dụng Trên giới nhiều quốc gia triển khai chiến lược quốc gia chuyển đổi số Anh, Úc, Đan Mạch, Estonia…Nội dung chuyển đổi số rộng đa dạng có chung số nội dung gồm phủ số (như dịch vụ công trực tuyến, liệu mở), kinh tế số (như tài số, thương mại điện tử), xã hội số (như giáo dục, y tế, văn hóa) chuyển đổi số ngành trọng điểm (như nông nghiệp, du lịch, điện lực, giao thông) Trong bối cảnh hội nhập tồn cầu, Việt Nam nói chung ngành giáo dục đào tạo nói riêng khơng thể nằm ngồi xu chung giới phải thực khẩn trương không muốn bỏ lỡ hội mà cách mạng Công nghiệp lần thứ mang lại Trong lĩnh vực Giáo dục Đào tạo, chuyển đổi số hỗ trợ đổi Giáo dục Đào tạo theo hướng giảm thuyết giảng, truyền thụ kiến thức sang phát triển lực người học, tăng khả tự học, tạo hội học tập lúc, nơi, cá nhân hóa việc học, góp phần tạo xã hội học tập học tập suốt đời Hiện nay, việc chuyển đổi số Việt Nam nhiệm vụ quan trọng, giúp cho đất nước kịp thời hòa nhập với phát triển chung giới Theo định số 749/QĐ-TTg Chính phủ ngày 03 tháng năm 2020 phê duyệt “Chương trình chuyển đổi số Quốc gia đến năm 2025, định hướng đến năm 2030”, giáo dục đào tạo lĩnh vực ưu tiên thực Bộ Giáo dục Đào tạo xác định chuyển đổi số chiến lược đột phát, giúp nâng cao chất lượng hiệu giáo dục đào tạo, phát triển nguồn nhân lực chất lượng cao cho đất nước Ngành giáo dục đặt mục tiêu Việt nam phải trở thành quốc gia tiên phong chuyển đổi số giáo dục đào tạo Với vai trị thành phần khơng thể thiếu hệ thống giáo dục quốc gia, trường đại học, học viện cần phải đóng vai trị đầu trình chuyển đổi số, việc cần phải thực trở thành trường đại học số, với việc số hóa thơng tin số hóa tổ chức thơng qua hệ sinh thái ứng dụng công nghệ Tuy nhiên, nay, trường đại học Việt Nam mặc dù có nhiều ứng dụng cơng nghệ chưa có trường đại học hồn tồn thực cơng việc Đặc biệt, khơng có định hướng chung nên việc triển khai trường đại học theo nhiều hướng khác nhau, việc dẫn tới khó khăn lớn tương lai cần có kết nối trường với Xuất phát từ vấn đề trên, tác giả luận văn chọn đề tài: “Thiết kế hệ sinh thái phần mềm cho Học viện khoa học xã hội Việt Nam phục vụ công tác chuyển đổi số quốc gia”, đề tài phương án mang tính thực tiễn, khoa học, góp phần giải quyết, khắc phục nâng cao hiệu vấn đề quản lý lĩnh vực nghiên cứu đào tạo Học viện Hy vọng luận văn tài liệu tham khảo có ích tất bạn sinh viên, thầy cô nghiên cứu lĩnh vực Mục đích nghiên cứu Mục đích nghiên cứu đề tài hệ sinh thái công nghệ (hệ sinh thái phần mềm) khái niệm liên quan tới lĩnh vực Nghiên cứu phương pháp luận để xây dựng hệ sinh thái phần mềm áp dụng giới tổ chức, công ty lớn Từ đưa ứng dụng việc xây dựng hệ sinh thái phần mềm thực tế Giả thuyết khoa học Với phát triển công nghệ nay, đặc biệt cách mạng 4.0 diễn nhanh chóng, hệ sinh thái phần mềm quan trọng cần thiết hệ thống lớn… Nhiệm vụ nghiên cứu Xuất phát từ mục đích trên, nhiệm vụ đề tài đặt sau: - Vai trò ý nghĩa hệ sinh thái phần mềm cách mạng công nghiệp 4.0, công chuyển đổi số Việt Nam - Xu phát triển hệ sinh thái phần mềm xã hội nay, thách thức tiềm to lớn tương lai Phương pháp nghiên cứu Sử dụng phối hợp phương pháp: 10 nâng lên tầm cao mới, cần phải coi việc bảo đảm an tồn thơng tin cho tảng số quốc gia bảo vệ không gian mạng quốc gia Việc cần phải coi trọng tâm, ưu tiên hàng đầu, nhiệm vụ khơng thể tách rời q trình chuyển đổi số Theo nhận định chuyên gia bảo mật, vấn đề ATTT đua đường trường tổ chức, tầm vĩ mơ đua quốc gia với nhau, đua nước rút Vì vậy, phát triển vận hành tảng số, tổ chức phải quan tâm, đầu tư liên tục lâu dài để bảo đảm bảo mật tối đa Các tảng số hoạt động diện rộng, phục vụ đông người, với lĩnh vực trọng yếu, cần phải trang bị khả chống chọi hiệu vụ công tội phạm công nghệ với cường độ mạnh, tần suất cao ngày tinh vi, xảo quyệt cách khai thác công nghệ tiên tiến Các chuyên gia bảo mật lưu ý đặc trưng tảng số dùng chung, có số lượng người dùng lớn, phát sinh liệu lớn, bao gồm liệu cá nhân liệu tổ chức Vì vậy, tảng số trở thành đích ngắm cơng nhiều đối tượng không gian mạng Để giảm thiểu thiệt hại rủi ro cho hệ thống chuyển đổi số, đồng thời tăng cường khả phịng thủ trước cơng ngày trở nên tinh vi, phức tạp có chủ đích tội phạm mạng, việc bảo đảm ATTT cho tảng số phải thực từ khâu thiết kế, tính quan trọng sản phẩm [18-19] Các tổ chức phát triển vận hành tảng số phải ưu tiên dành tỉ lệ kinh phí phù hợp cho việc bảo đảm ATTT xuyên suốt vòng đời tảng 3.4 Kết luận Nội dung chương tập trung vào khảo sát tình hình thực tế nhu cầu cần thiết xây dựng hệ sinh thái công nghệ cho Học viên Khoa học xã hội nhằm đáp ứng cho mục tiêu thực chuyển đổi số toàn diện Học viện thời gian Dựa kiến thức tham khảo hệ thống thực tế, tìm hiểu cơng nghệ điện tốn đám mây triển khai mạnh hầu hết lĩnh vực đời sống nay, em đề xuất mơ hình thiết kế hệ thống cho hệ sinh thái cơng nghệ cho Học viện Mơ hình thiết kế dựa nguyên tắc hệ thống mạng tiên tiến, sử dụng công nghệ dịch vụ đại nhằm tăng cường khả đáp ứng yêu cầu dịch vụ, đồng thời giảm thiểu nguy xâm nhập, cơng mạng từ bên ngồi, 73 mạng nội Hệ thống máy chủ phân chia thành tầng nhằm phân tách chức đảm bảo tính độc lập trình vận hành Các máy chủ cấu hình cho khả tự động mở rộng yêu cầu tăng cao tự giảm số lượng tài nguyên yêu cầu sử dụng giảm xuống Bên cạnh đó, hệ thống lưu trữ liệu áp dụng công nghệ CDN, Cache để tăng khả sẵn sàng đáp ứng liệu, hỗ trợ lưu dự phịng theo thời gian thực Để triển khai mơ hình vào thực tế cần có tham vấn chuyên gia lĩnh vực, khảo sát khả đáp ứng nguồn lực tài cho hệ thống 74 KẾT LUẬN Kết luận Nội dung luận văn thực nghiên cứu tìm hiểu hệ sinh thái cơng nghệ, mơ hình triển khai áp dụng nhiều công ty doanh nghiệp lớn IT, kết khảo sát cho thấy thành công ưu vượt trội mơ hình phát triển hệ sinh thái Tuy nhiên để xây dựng hệ sinh thái Google, Microsoft hay Facebook, q trình phát triển vận hành, thân hệ thống phải tự tùy biến cho phù hợp với thực tiễn để thích ứng phát triển Sự phát triển công nghệ giúp cho nhiều ngành nghề khác hưởng lợi, biết vận dụng cách hợp lý đem lại cho thành công Luận văn đề xuất mơ hình cho Hệ sinh thái cơng nghệ Học viện khoa học xã hội theo khía cạnh tảng cơng nghệ Đây coi cơng cụ hướng lộ trình phát triển Học viện q trình chuyển đổi số tồn diện theo Nghị Học viện tương lai Hướng phát triển Để hoàn thiện phát triển cho đề tài hệ sinh thái công nghệ này, thời gian tới em tìm hiểu sâu phương pháp luận cho việc xây dựng hệ sinh thái, tham khảo mơ hình thành cơng từ đúc rút kinh nghiệm, học thực tế để bổ sung vào luận văn nghiên cứu 75 TÀI LIỆU THAM KHẢO Tiếng Anh: [1] Eric Yu and Stephanie Deng (2011), Understanding Software Ecosystems: A Strategic Modeling Approach, Proceedings of the Workshop on Software Ecosystems [2] Henrik Bærbak Christensen, Klaus Marius Hansen (2014), Analysis and design of software ecosystem architectures – Towards the 4S telemedicine ecosystem, Information and Software Technology 56, 1476–1492 [3] J.V Joshua, D.O Alao, S.O Okolie, O Awodele (2013.), Software Ecosystem: Features, Benefits and Challenges, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol 4, No 8, [4] K Manikas, K Wnuk, and A Shollo (2015) Defining decision making strategies in soft- ware ecosystem governance Technical report, University of Copenhagen, Depart- ment of Computer Science [5] Lizhe Wang, Gregor von Laszewski (April 2010), Cloud Computing: a Perspective Study, DOI: 10.1007/s00354-008-0081-5, New Generation Computing [6] Mahsa H Sadi, Eric Yu, Designing Software Ecosystems: How Can Modeling Techniques Help?, EMMSAD, p 1, 2015.© Springer-Verlag Berlin Heidelberg 2015 [7] Manikas, K.; Hansen, K.M (2013) Software ecosystems - A systematic literature review J Syst Softw., 86, 1294–1306 [8] Manikas, K., Mervi H ä m ̈al ̈ainen, and Pasi Tyrv ̈ainen, Designing, Developing, and Implementing Software Ecosystems: Towards a Step-wise Guide In S Jansen, C Alves, & J Bosch (Eds.), IWSECO 2016 : Proceedings of the 8th International Workshop on Software Ecosystems (pp 70-79) [9] Plakidas, K.; Stevanetic, S.; Schall, D.; Ionescu, T.; Zdun, U How software ecosystems evolve? A quantitative assessment of the ecosystem In Proceedings of the 20th International Systems and Software Product Line Conference SPLC, Beijing, China, 16-23 September 2016; pp 89-98 [10] Slinger Jansen and Michael Cusumano (2012), Defining Software Ecosystems: A Survey of Software Platforms and Business Network Governance, Proceedings of IWSECO 2012 76 [11] University of Helsinki (2015), Enterprise Architecture Principles of the University of Helsinki [12] University of Canberra (2006), Development of an Enterprise Architecture for the university of Canberra [13] Wilhelm Hasselbring, Guido Steinacker, Microservice Architectures for Scalability, Agility and Reliability in E-Commerce, 2017 IEEE International Conference on Software Architecture Workshops, DOI 10.1109/ICSAW.2017.11 Website: [14] Cloud Agnostic CI/CD Pipeline for DevOps https://gblogs.cisco.com/ch-tech/how-to-devops-cloud-agnostic-cicdpipeline-process-steps/ [15] Architecture of En Marche! System https://symfony.com/blog/anopen-source-web-platform-for-the-new-president-of-france [16] Microservices - https://martinfowler.com/articles/microservices.html [17] https://www.statista.com/statistics/276623/number-of-apps-availablein-leading-app-stores/ [18] An tồn thơng tin: Ưu tiên hàng đầu chuyển đổi số, https://kinhtedothi.vn/an-toan-thong-tin-uu-tien-hang-dau-trong-chuyen-doiso.html [19] Giải pháp để đảm bảo an tồn thơng tin chuyển đổi số, https://www.mic.gov.vn/mic_2020/Pages/TinTuc/151840/Giai-phap-dedam-bao-an-toan-thong-tin-trong-chuyen-doi-so.html [20] An tồn thơng tin trước yêu cầu chuyển đổi số, http://antoanthongtin.vn/an-toan-thong-tin/an-toan-thong-tin-truoc-yeu-cauchuyen-doi-so-107809 [21] Đại học Công nghệ Hà Nội, http://vjst.vn/vn/tin-tuc/6033/truong-daihoc-cong-nghiep-ha-noi-huong-toi-mo-hinh-dai-hoc-thong-minh.aspx 77 PHỤ LỤC 1.1 Cài đặt cấu hình RabbitMQ Các bước cài đặt cấu hình RabbitMQ thực đây: Cập nhật hệ thống $ sudo apt update $ sudo apt upgrade Cài đặt Docker Cài đặt package phụ thuộc: $ sudo apt install apt-transport-https ca-certificates curl softwareproperties-common Thêm GPG key kho lưu trữ docker thức (Docker repository): $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Thêm kho lưu trữ docker vào apt source list: $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" Thực cập nhật lại hệ thống cài đặt docker: $ sudo apt update $ sudo apt install docker-ce docker-ce-cli containerd.io docker-composeplugin Bật dịch vụ docker kiểm tra để đảm bảo docker hoạt động ổn định: 78 $ sudo systemctl status docker.service $ systemctl status docker.service $ sudo docker run hello-world Nếu output lệnh run container hello-world việc cài đặt docker thành công chạy ổn định: Hello from Docker! This message shows that your installation appears to be working correctly To generate this message, Docker took the following steps: Cài đặt Docker Compose Trước cài đặt docker compose ta cần cài dặt package phụ thuộc, nhiên ta thực cài đặt phần nên ta bỏ qua thực cài đặt compose: $ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/dockercompose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose $ sudo chmod +x /usr/local/bin/docker-compose $ sudo docker-compose version Nếu kết output lệnh kiểm tra version việc cài đặt hồn tất: docker-compose version 1.29.2, build 5becea4c 79 Cấu hình đặt chạy RabbitMQ Dưới file docker-compose.yml file cấu hình cho Cluster RabbitMQ cần xếp vào thư mục triển khai sau: RabbitMQ/cluster/ ├── configs │ ├── node-01 │ │ ├── 10-defaults.conf │ │ ├── Rabbitmq.conf │ │ └── node_definition.json │ ├── node-02 │ │ ├── 10-defaults.conf │ │ ├── Rabbitmq.conf │ │ └── node_definition.json │ └── node-03 │ ├── 10-defaults.conf │ ├── Rabbitmq.conf │ └── node_definition.json └── docker-compose.yml directories, 10 files Rabbitmq.conf: # Rabbitmq.conf # default settings loopback_users.guest = true listeners.tcp.default = 5672 hipe_compile = false management.listener.port = 15672 management.listener.ssl = false # Load the queues we initially want management.load_definitions = /etc/rabbitmq/conf.d/node_definition.json 80 total_memory_available_override_value = 4GB vm_memory_high_watermark.absolute = 4096MiB vm_memory_high_watermark.relative = 0.9 # Cluster configuration goes here cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config cluster_formation.classic_config.nodes.1 = rabbit@RabbitNode01 cluster_formation.classic_config.nodes.2 = rabbit@RabbitNode02 cluster_formation.classic_config.nodes.3 = rabbit@RabbitNode03 # Logs log.file = rabbit.log log.dir = /var/log/rabbitmq log.console.level = info cluster_partition_handling = pause_minority docker-compose.yml: # docker-compose.yml version: "3.8" services: RabbitMQ-Node01: container_name: "RabbitMQ-Node01" hostname: RabbitNode01 image: rabbitmq:3.10.2-management deploy: resources: limits: cpus: '0.2' memory: 4096M environment: - RABBITMQ_CONFIG_FILE=/etc/rabbitmq/Rabbitmq.conf - RABBITMQ_NODENAME=rabbit@RabbitNode01 81 - RABBITMQ_ERLANG_COOKIE=KNFz0XGBIxfIAA9lLspg8g volumes: - configs/node-01/Rabbitmq.conf:/etc/rabbitmq/Rabbitmq.conf - configs/node01/node_definition.json:/etc/rabbitmq/conf.d/node_definition.json networks: - RabbitMQPerfTest RabbitMQ-Node02: container_name: "RabbitMQ-Node02" hostname: RabbitNode02 image: rabbitmq:3.10.2-management deploy: resources: limits: cpus: '0.2' memory: 4096M environment: - RABBITMQ_CONFIG_FILE=/etc/rabbitmq/Rabbitmq.conf - RABBITMQ_NODENAME=rabbit@RabbitNode02 - RABBITMQ_ERLANG_COOKIE=KNFz0XGBIxfIAA9lLspg8g volumes: - configs/node-02/Rabbitmq.conf:/etc/rabbitmq/Rabbitmq.conf - configs/node02/node_definition.json:/etc/rabbitmq/conf.d/node_definition.json networks: - RabbitMQPerfTest RabbitMQ-Node03: container_name: "RabbitMQ-Node03" hostname: RabbitNode03 image: rabbitmq:3.10.2-management image: rabbitmq:3.10.2-management deploy: resources: limits: 82 cpus: '0.2' memory: 4096M environment: - RABBITMQ_CONFIG_FILE=/etc/rabbitmq/Rabbitmq.conf - RABBITMQ_NODENAME=rabbit@RabbitNode03 - RABBITMQ_ERLANG_COOKIE=KNFz0XGBIxfIAA9lLspg8g volumes: - configs/node-03/Rabbitmq.conf:/etc/rabbitmq/Rabbitmq.conf - configs/node03/node_definition.json:/etc/rabbitmq/conf.d/node_definition.json networks: - RabbitMQPerfTest networks: RabbitMQPerfTest: name: RabbitMQPerfTest driver: bridge ipam: config: - subnet: 10.9.8.0/24 gateway: 10.9.8.254ker-compose.yml node_definition.json: { "users": [ { "name": "tester", "password": "secret", "tags": "administrator" }, { "name": "root", "password": "P@ssw0rd", "tags": "administrator" } 83 ], "vhosts": [ { "name": "/" }, { "name": "PerfTesting" } ], "permissions": [ { "user": "tester", "vhost": "PerfTesting", "configure": ".*", "write": ".*", "read": ".*" }, { "user": "root", "vhost": "PerfTesting", "configure": ".*", "write": ".*", "read": ".*" }, { "user": "root", "vhost": "/", "configure": ".*", "write": ".*", "read": ".*" } ], "parameters": [], "policies": [ { "vhost": "PerfTesting", 84 "name": "mirrorqueues", "apply-to": "queues", "pattern":"^.*", "definition": { "ha-mode":"exactly", "ha-params":2, "ha-sync-mode":"automatic" } } ], "exchanges": [ { "name": "PerfTestingExchange", "vhost": "PerfTesting", "type": "fanout", "durable": true, "auto_delete": false, "internal": false, "arguments": {} } ], "queues": [ { "name": "PerfTestingQueue", "vhost": "PerfTesting", "durable": true, "auto_delete": false, "arguments": { "x-dead-letter-exchange": "", "x-dead-letter-routing-key": "" } } ], "bindings": [ { "source": "PerfTestingExchange", 85 "vhost": "PerfTesting", "destination": "PerfTestingExchange", "destination_type": "queue", "routing_key": "routing_key", "arguments": {} } ] } Sau thứ hoàn tất, di chuyển vào thư mục chưa file compose.yml docker- thực lệnh để chạy container RabbitMQ $ docker-compose up -d && docker-compose logs -f Sau chạy lệnh kiểm tra output log, có log thông báo: startup complete; X plugins started Server khơng có lỗi q trình cài đặt RabbitMQ single node hoàn tất, ta cần cài đặt cấu hình HaProxy để điều hướng truy cập từ bên ngồi vào mạng docker mà ta cấu file compose, để truy cập quản lý sử dụng RabbitMQ 1.2 Cài đặt cấu hình HAProxy Để cài đặt HAProxy thực lệnh đây, bao gồm trình update hệ thống để cập nhật danh sách package cài đặt phần mềm: $ sudo apt update $ sudo apt install haproxy Sau cài đặt hoàn tất thực thêm đoạn cấu hình vào cuối file cấu hình HAProxy nằm đường dẫn /etc/haproxy/haproxy.cfg: 86 # RabbitMQ-Cluster frontend RabbitMQ-Cluster id 5672 bind *:5672 mode tcp #option http_proxy use_backend RabbitMQ-Cluster default_backend RabbitMQ-Cluster timeout client 7200000 backend RabbitMQ-Cluster mode tcp option tcplog server RabbitMQ-Node-01 10.9.8.11:5672 check fall rise server RabbitMQ-Node-02 10.9.8.12:5672 check fall rise server RabbitMQ-Node-03 10.9.8.13:5672 check fall rise timeout connect 7200000 timeout server 7200000 timeout check 5000000 timeout queue 5s Cuối ta thực restart lại dịch vụ kiểm tra trạng thái lệnh đây: $ systemctl restart haproxy.service 87

Ngày đăng: 09/12/2023, 09:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w