• About
  • Advertise
  • Privacy & Policy
  • Contact
NQ NEWS
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
  • Kiến thức tổng hợp
    • Development
    • Deep Learning
    • Cloud Computing
    • Kiến thức bảo mật
    • Tin học văn phòng
  • Thủ thuật
    • Phần Mềm
    • Sửa lỗi máy tính
    • Bảo mật máy tính
    • Tăng tốc máy tính
    • Thủ thuật Wifi
  • Quản trị hệ thống
    • Giải pháp bảo mật
    • Mail Server
    • Mạng LAN – WAN
    • Máy chủ
    • Windows Server 2012
  • Tin tức
No Result
View All Result
NQ NEWS
No Result
View All Result
Home Kiến thức tổng hợp Nền tảng điện toán đám mây

Đôi nét về Microservice architecture và Monolithic architecture

@admiz by @admiz
05/05/2021
in Nền tảng điện toán đám mây
0
Đôi Nét Về Microservice Architecture Và Monolithic Architecture 60902a3de407a.jpeg

Hôm nay NQ Computing sẽ cùng tìm hiểu về software architecture và cùng đánh giá chút về mô hình đang khá nổi thời gian gần đây đó là microservice” data-rel=”follow”>microservice.

Sofware architecture là tổ chức hệ thống bao gồm rất nhiều các thành phần như Web Server, cơ sở dữ liệu, bộ nhớ và các lớp layer thực hiện việc giao tiếp. Chúng liên kết với nhau hoặc với một môi trường nhất định. Mục tiêu cuối cùng của thiết kế hệ thống (system architecture) là giải quyết vấn đề của doanh nghiệp.

Ở thời điểm hiện tại, có 2 mô hình pattern của software architecture đang được phổ biến là:

– Monolithic architecture 

– Mircoservice architecture 

Monolithic architecture

1. Lợi ích

Monolithic có xu hướng phù hợp với những dự án có quy mô nhỏ. Với việc áp dụng mô hình monolithic, những lợi ích đem lại có thể kể đến là:

– Quá trình development đơn giản và trực tiếp, centralized managenment và những bước phát triển cơ bản thì sẽ không được lặp lại. 

– Effort dành cho việc development được giảm thiểu: tất cả mọi quá trình development đều nằm trên 1 project. Development flow đơn giản chỉ là submit change, review, merge code và continue.

2. Hạn chế

Đôi nét về Microservice architecture và Monolithic architecture - Ảnh 1.

Tuy nhiên hạn chế mà mô hình này đem lại cũng khá lớn:

– Khó khăn trong việc bảo trì: vấn đề về coupling code, các khối code dính chặt lại với nhau, vấn đề cho member mới sẽ khó để biết nên bắt đầu từ đâu trong 1 khối lớn. 

– Quá trình development sẽ mất đi tính linh hoạt: thời gian để build feature sẽ bị dài lên, bị block lẫn nhau. Bất kì một sự thay đổi dù nhỏ nào cũng cần build lại toàn bộ dự án => tốn khá nhiều thời gian.  

– Tính ổn định không cao. Bất kì một lỗi nào có thể khiến toàn bộ application bị crush. 

– Tính scalibility khó được đáp ứng trong trường hợp phải đáp ứng một lượng truy cập lớn từ phía yêu cầu của bussiness.

Microservice architecture

Ngoài mô hình monolithic kể trên, hiện nay có 1 arichtecture khác đang nhận được nhiều sự quan tâm, đó là microservice. Microservice đề cập đến quá trình phát triển độc lập, tương đối nhỏ theo hướng chia hệ thống ra thành các service. Mỗi service này đều có một logic riêng, một trách nhiệm riêng và có thể được deploy riêng biệt. 

Khái niệm mircoservice đồng thời đề cập đến xu hướng tách biệt architecture ra thành các loose coupling service, tức là các service này sẽ có một mối liên hệ lỏng lẻo với nhau và mối service sẽ được nằm trong 1 context nhất định.

So sánh với monolithic và SOA (service-oriented architecture), những điểm khác biệt của mô hình microservice là componentization (thành phần hóa), loose coupling (khớp nối lỏng lẻo), autonomy ( tính tự quản lí) và decentralization (phân cấp), được phản ánh cụ thể qua những khía cạnh sau:

– Tập hợp một nhóm nhỏ các service: mức độ chi tiết của một service là nhỏ và mỗi service này sẽ chịu một trách nhiệm cụ thể (single responsiblity) và chỉ tập trung vào nhiệm vụ đó. Ví dụ: storage service sẽ chịu riêng trách nhiệm về storage.  

– Việc phát triển và mở rông một service là hoàn toàn độc lập. Điều này mang lại tính linh hoạt cho hệ thống. Quá trình deliver feature, release version sẽ dễ dàng và nhanh chóng. Hơn nữa sẽ không còn tình trạng bị block như ở mô hình monolithic. 

– Giảm tải được các mối quan ngại về công nghệ sử dụng. Chọn một công nghệ phù hợp với vấn đề của doanh nghiệp có thể được giải quyết dễ dàng. Các service giap tiếp với nhau thông qua API, do vậy mỗi service có thể dùng một ngôn ngữ riêng biệt. Serivce A dùng Java, Service B dùng Javascript, điều này hoàn toàn không vấn đề gì cả! 

– Đối với team, microservice đem lại tính độc lập và tự quản lí cho team. Một team sẽ có trách nhiệm toàn bộ với life-cycle của một hay nhiều service. Họ làm việc trong việc context biệt lập, có thể tự quản lý các quyết định của mình.

Chúng ta có thể thấy rõ toàn bộ ý tưởng của mô hình microservice rất giống cách mà chúng ta chia nhỏ thông tin và kiến thức. Bằng việc tách rời, chia nhỏ và quản lí chúng ta có thể giảm tải sự phức tạp của hệ thống, làm cho việc quản lí trở nên nhanh chóng và dễ dàng, phản ánh sự thay đổi chính xác.

Đôi nét về Microservice architecture và Monolithic architecture - Ảnh 2.

Vậy tại sao chúng ta nên dùng microservice?

Ở thế kỷ trước, một số lightweight development methods như eXtreme Programming (XP) hay Scrum nổi lên; Đến năm 2001, tuyên ngôn Agile ra đời và một số phương pháp quản lý mới như Lean hay Kanban được nổi lên. Nếu những phương pháp quản lý trên được coi là giải pháp cho việc quản lý tiến độ phát triển phần mềm và việc thực hiện sớm nhất có thể khi có sự thay đổi thì microservice architecture là hướng tiếp cận được nói đến trong công nghệ phần mềm và ở tầng kiến trúc (architecture level). Dưới đây là một biểu đồ so sánh giữa monolithic và microservice:

Đôi nét về Microservice architecture và Monolithic architecture - Ảnh 3.

Các thuộc tính của mô hình microservice

1. Autonomous (tính tự trị)

Mỗi service sẽ là 1 đơn vị chức năng, cung cấp API để thực hiện việc trao đổi, giao tiếp với các service khác.

2. Isolated (tính biệt lập)

Mỗi serivce sẽ là 1 đơn vị triển khai. Nó có thể được chỉnh sửa, test và deployed như 1 đơn vị mà không ảnh hưởng đến những khía cạnh khác.

3. Elastic

Một service là phi trạng thái (stateless), vì vậy nó có thể scale tùy ý khi cần thiết.

4. Resilient

Một microservice sẽ được thiết kế để chấp nhận các lỗi, các rủi ro có thể xảy ra, các lỗi này là các lỗi có thể chấp nhận được.

5. Responsive

Respond cho các request trong khoảng thời gian hợp lý.

6. Intelligent

Tính thông minh ở đây tức là muốn nhắc đến việc hệ thống có thể tìm thấy các endpoint của các microservice đã được đăng kí.

7. Message Oriented

Mô hình micro-service hoạt động dựa trên giao thức HTTP hoặc message bus để tạo nên sự giao tiếp giữa các service. Điều này đảm bảo tính loose coupling, tính biệt lập và có thể cung cấp lỗi dưới dạng message.

8. Programmable

Cung cấp API’s cho phép truy cập bởi developer và administrator.

9. Composable

Bao gồm nhiều microservices.

10. Automated

Lifecycle của Microservice được quản lý thông qua automation bao gồm development, build, test, staging, production và distribution.)

Ưu điểm của Microservice

– Mỗi microservice sẽ được chia nhỏ để tập trung vào một business function cụ thể hoặc business requirement.

– Microservices có thể phát triển độc lập bởi một team nhỏ có thể chỉ từ 2 đến 5 developers.

– Micro-service đem lại tính loose-coupling và context riêng cho mỗi service, sẽ dễ dàng trong quá trình development cũng như deploy một cách độc lập..

– Microservices có thể phát triển với nhiều ngôn ngữ khác nhau.

– Quá trình phát triển một service sẽ trở nên dễ dàng và linh động thông qua việc sử dụng CI/CD như Travis, Jenskin, Circle CI ….

– Một new member có thể dễ dàng và nhanh chóng đóng góp cho dự án

– Một service trong mô hình micro serivce là tương đối nhỏ, dễ hiểu và được quản lí bởi các thành viên của 1 team nhỏ. Do đó, họ sẽ dễ dàng tập trung vào công việc, nâng cao được hiệu năng.

– Microservices cho phép tận dụng việc áp dụng những công nghệ mới vào dự án.

– Microservices chỉ gồm business logic code và không bao gồm HTML, CSS.

– Việc deploy sẽ mất ít công sức cho việc configuration.

– Dễ dàng tích hợp bên thức ba.

– Mỗi service có dung lượng lưu trữ riêng và có thể có cơ sở dữ liệu riêng.

Nhược điểm của Microservice

– Microservice architecture có thể dẫn tối việc sử dụng quá nhiều operations.

– Cần thêm kiến thức về DevOps.

– Nỗ lực của team có thể sẽ phải nhân đôi.

– Distributed systems (hệ thống phân tán) phức tạp và khó quản lý.

– Số lượng service càng lớn thì vấn đề về quản lí phức hợp (management complexity) cũng tăng theo.

Tham khảo: https://www.cnblogs.com/wintersun/p/6219259.html

>> Có thể bạn quan tâm: Hội chứng cuồng Microservices năm 2018” data-rel=”follow”>Hội chứng cuồng Microservices năm 2018

Theo viblo.asia

Post Views: 167
Previous Post

Hybrid cloud là gì ? Ứng dụng như thế nào trong kinh doanh và cuộc sống

Next Post

Hướng dẫn kích hoạt và sử dụng tính năng máy ảo trên Windows 10 April 2018

Related Posts

Các kiểu dữ liệu trong SQL và những thông tin cần biết
Kiến thức tổng hợp

Các kiểu dữ liệu trong SQL

20/04/2022
[plesk] Update Bảo Mật Trên Parallels Plesk (for Windows Os) 6094fa45d0e49.jpeg
Nền tảng điện toán đám mây

[Plesk] Update bảo mật trên Parallels Plesk (for Windows OS)

10/11/2021
Xử Lý Failed Cs (disks) 6094f9f76aad4.jpeg
Nền tảng điện toán đám mây

Xử lý failed CS (Disks)

10/11/2021
[plesk12] Hướng Dẫn Cấu Hình Cơ Bản Hosting Trên Plesk Panel 12.5 6094fac3e69e8.jpeg
Nền tảng điện toán đám mây

[Plesk12] Hướng dẫn cấu hình cơ bản hosting trên Plesk Panel 12.5

10/11/2021
Hướng Dẫn Cài đặt Plesk 12.5 (windows Os + Linux Os) 6094fa4ce2cf6.jpeg
Nền tảng điện toán đám mây

Hướng dẫn cài đặt Plesk 12.5 (Windows OS + Linux OS)

10/11/2021
Hướng Dẫn Backup & Restore Dữ Liệu Người Dùng Trên Outlook 60a7657c81dc4.jpeg
Nền tảng điện toán đám mây

Hướng Dẫn Backup & Restore Dữ Liệu Người Dùng Trên Outlook

31/08/2021
Next Post
Hướng Dẫn Kích Hoạt Và Sử Dụng Tính Năng Máy ảo Trên Windows 10 April 2018 60902a43e4290.jpeg

Hướng dẫn kích hoạt và sử dụng tính năng máy ảo trên Windows 10 April 2018

Bài mới nhất

Top Công Ty Thiết Kế Website Tại Bình Dương Chuyên Nghiệp, Uy Tín 612d25a0aa655.jpeg

Top công ty thiết kế website tại Bình Dương chuyên nghiệp, uy tín

01/07/2025
Công Ty Thiết Kế Website Tại Ninh Bình Chuyên Nghiệp, Uy Tín Nhất Hiện Nay 612d2537a82de.jpeg

Công ty thiết kế website tại Ninh Bình chuyên nghiệp, uy tín nhất hiện nay

01/07/2025
Ý Nghĩa 5 Màu Sắc Trong Thiết Kế Website được Nhiều Người Sử Dụng Nhất 612d2531f38f2.jpeg

Ý nghĩa 5 màu sắc trong thiết kế website được nhiều người sử dụng nhất

30/06/2025
Cá Nhân Hóa: Tầm Quan Trọng, Khó Khăn Và Cách Cá Nhân Hóa Trong Marketing 612d20704224a.jpeg

Cá nhân hóa: Tầm quan trọng, khó khăn và cách cá nhân hóa trong Marketing

30/06/2025
20+ Công Ty Thiết Kế App Chuyên Nghiệp, Uy Tín Và Chất Lượng Nhất Hiện Nay 612d1fe642c66.jpeg

20+ công ty thiết kế app chuyên nghiệp, uy tín và chất lượng nhất hiện nay

29/06/2025

Danh mục

  • Android
  • Bảo mật máy tính
  • Bảo mật, Antivirus
  • Chuyện công nghệ
  • Deep Learning
  • Development
  • Dịch vụ công trực tuyến
  • Dịch vụ nhà mạng
  • Giải pháp bảo mật
  • Hệ thống
  • Hệ thống
  • iPhone
  • Kiến thức bảo mật
  • Kiến thức cơ bản phổ thông
  • Kiến thức Marketing căn bản
  • Kiến thức tổng hợp
  • Lập trình
  • Linux
  • Linux OS
  • macOS
  • Mail Server
  • Mạng LAN – WAN
  • Máy ảo
  • Máy chủ
  • ms excel
  • ms-powerpoint
  • Nền tảng điện toán đám mây
  • Phần cứng
  • Phần Mềm
  • Quản trị hệ thống
  • Raspberry Pi
  • Sửa lỗi máy tính
  • Tăng tốc máy tính
  • Thủ thuật
  • Thủ thuật SEO
  • Thủ thuật Wifi
  • Tiện ích hệ thống
  • Tin học văn phòng
  • Tin tức
  • Uncategorized
  • Ứng dụng
  • Website
  • Windows Server 2012

Thẻ

#app #chatbot #chatbot tự động #CRM #Kiến thức cơ bản #Techblog #Thiết kế website Android apple CPU Email Marketing Google Google Drive hacker HTML hàm python hàm python có sẵn hình nền hình nền máy tính học css học python học SQL ios iphone iphone 12 iPhone X macos Microsoft mssql MS SQL Server ngôn ngữ lập trình python Raspberry Pi Samsung smartphone SQL SQL Server tham số trong C thủ thuật windows 10 tài liệu python windows windows 10 YouTube điện thoại thông minh ứng dụng
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2022 Pha Le Solution

No Result
View All Result
  • Home

© 2022 Pha Le Solution