ITLC HN 14 - Bizweb Microservices ArchitectureIT Expert Club
Trong 2.5 tiếng diễn giả Nguyễn Minh Khôi sẽ trình bày các vấn đề liên quan đến kiến trúc của Bizweb - giải pháp hosting bán hàng online với trên 10,000 website đang hoạt động:
a. Kiến trúc Bizweb cũ và các khó khăn gặp phải, giải thích lý do xây dựng lại toàn bộ hệ thống từ đầu
b. Giới thiệu kiến trúc Microservices của Bizweb
c. Các vấn đề cần giải quyết trong hệ thống mới
d. Kinh nghiệm thực tế trong việc triển khai Microservices cho Bizweb
Một hệ thống với 75.000 đơn hàng/1 ngày, quản lý tới hàng triệu SKU, giao dịch chạy qua hệ thống lên tới con số nghìn tỉ với tổng cộng trên 8.000 khách hàng đang sử dụng.
Đó chính là: Sapo - Phần mềm quản lý bán hàng trên nền tảng mở, quản lý bán hàng đa kênh, sử dụng kiến trúc Microservices thay thế kiến trúc Monolithic cũ.
Qua buổi chia sẻ kéo dài trong 2h, diễn giả Khôi Nguyễn sẽ giới thiệu về mô hình kiến trúc Microservices và một số bài toán đặc thù của Sapo đã được giải quyết dựa trên mô hình này.
Diễn giả:
Nguyễn Minh Khôi (https://www.facebook.com/khoi.nguyen.84 ) -
CTO DKT Technology ( http://www.dkt.com.vn/ )
ITLC HN 14 - Bizweb Microservices ArchitectureIT Expert Club
Trong 2.5 tiếng diễn giả Nguyễn Minh Khôi sẽ trình bày các vấn đề liên quan đến kiến trúc của Bizweb - giải pháp hosting bán hàng online với trên 10,000 website đang hoạt động:
a. Kiến trúc Bizweb cũ và các khó khăn gặp phải, giải thích lý do xây dựng lại toàn bộ hệ thống từ đầu
b. Giới thiệu kiến trúc Microservices của Bizweb
c. Các vấn đề cần giải quyết trong hệ thống mới
d. Kinh nghiệm thực tế trong việc triển khai Microservices cho Bizweb
Một hệ thống với 75.000 đơn hàng/1 ngày, quản lý tới hàng triệu SKU, giao dịch chạy qua hệ thống lên tới con số nghìn tỉ với tổng cộng trên 8.000 khách hàng đang sử dụng.
Đó chính là: Sapo - Phần mềm quản lý bán hàng trên nền tảng mở, quản lý bán hàng đa kênh, sử dụng kiến trúc Microservices thay thế kiến trúc Monolithic cũ.
Qua buổi chia sẻ kéo dài trong 2h, diễn giả Khôi Nguyễn sẽ giới thiệu về mô hình kiến trúc Microservices và một số bài toán đặc thù của Sapo đã được giải quyết dựa trên mô hình này.
Diễn giả:
Nguyễn Minh Khôi (https://www.facebook.com/khoi.nguyen.84 ) -
CTO DKT Technology ( http://www.dkt.com.vn/ )
Verso i bigdata giudiziari? (Nexa Torino, luglio 2016)Simone Aliprandi
Le slides utilizzate da Simone Aliprandi per il seminario "Verso i bigdata giudiziari? Problemi di privacy e copyright nella diffusione di sentenze sul web" tenutosi al Centro Nexa del Politecnico di Torino (info: http://juriswiki.it/news/al-politecnico-di-torino-si-parla-di-bigdata-giudiziari-e-di-juriswiki)
위 자료는 BOAZ 2016 하반기 프로젝트 주제의 하나로, Advanced 정규세션 동안 Base 정규세션에서 배웠던 다양한 이론들과 기본 지식들, 그리고 툴 활용능력들을 직접 실행하며 진행한 결과물입니다.
*** 서울시 2030 나홀로족을 위한 라이프 가이드북 ***
서울에 거주하는 2030 나홀로족을 위해 제작된 라이프 가이드북. 이 가이드북의 주목적은 먹는 것(식) 그리고 사는 것(주)에 대해서 그에 관한 정보를 주는 것임.
6기 김승효 중앙대학교 응용통계학과
6기 김재은 이화여자대학교 시각디자인과
7기 박다혜 한국외국어대학교 통계학과
** 국내 최초 대학생 빅데이터 연합동아리 BOAZ **
Blog : http://BOAZbigdata.com
Facebook : http://fb.com/BOAZbigdata
Oxalide MorningTech #1 - BigData
1er MorningTech @Oxalide, animé par Ludovic Piot (@lpiot), le 15 décembre 2016.
Pour cette 1ère édition du Morning Tech nous vous proposons une overview sur un des thèmes du moment : le Big Data.
Au delà de ce buzz word nous aborderons :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et nous finirons par un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles
Subject: Oxalide's 1st MorningTech talk about BigData.
Date: 15-dec-2016
Speakers: Ludovic Piot (@lpiot, @oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morningtech-number-1-bigdata
Lien SlideShare : https://www.slideshare.net/LudovicPiot/oxalide-morningtech-1-bigdata
YouTube Video capture: https://youtu.be/7O85lRzvMY0
Main topics:
* Les grands enjeux du BigData
** les 3 V du Gartner : volume, variété, vélocité
* Le stockage des données
** datalake
** les technos
* L'ingestion des données
** ETL
** datastream
** les technos
* Les enjeux du compute
** map-reduce
** spark
** lambda architecture
* Démo d'une plateforme BigData sur AWS
* L'intelligence artificielle
** datascience exploratoire et notebooks,
** machine learning,
** deep learning,
** data pipeline
** les technos
* Pour aller plus loin
** La gouvernance des données
** La dataviz
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...FactoVia
Vincent Thavonekham et Philippe Guédez de VISEO,
Reactive Extension Rx.Net architecture to overcome the SigFox limits and absorb the heavy IoT load with BigData (using ASP.Net Core Microservices). ALL TECHNICAL DETAILS unveailed.
Kiến trúc phần mềm cho các site chịu tải lớn – Software architecture for high traffic Website
Case study giới thiệu về kiến trúc của một site traffic lớn đó là stackoverflow.com - trang hỏi đáp về lập trình rất nổi tiếng
Bài trình bày của bạn Ngô Xuân Hòa tại Meetup 4 của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
DevOps đại diện cho một sự thay đổi trong văn hóa CNTT, tập trung vào cung cấp dịch vụ CNTT nhanh chóng thông qua áp dụng Agile, Lean trong bối cảnh của phương pháp tiếp cận theo định hướng về hệ thống. DevOps nhấn mạnh yếu tố con người (và văn hóa), và tìm cách cải thiện sự phối hợp giữa các hoạt động và đội ngũ phát triển, triển khai DevOps sử dụng công nghệ - đặc biệt là các công cụ tự động hóa có thể tận dụng một cơ sở hạ tầng ngày càng hiệu quả và tăng cường theo hướng có thể lập trình được và bạn sẽ có một cơ sở hạ tầng linh động trong chu trình phát triển.
Đây là sự kiện mà ITEC hợp tác cùng cộng đồng AWS Việt Nam tổ chức:
Diễn giả: Bùi Kiên Cường và Quân Phương trình bày.
Thời gian: 22-09-2016, tại Hatch!Nest Hà Nội.
Verso i bigdata giudiziari? (Nexa Torino, luglio 2016)Simone Aliprandi
Le slides utilizzate da Simone Aliprandi per il seminario "Verso i bigdata giudiziari? Problemi di privacy e copyright nella diffusione di sentenze sul web" tenutosi al Centro Nexa del Politecnico di Torino (info: http://juriswiki.it/news/al-politecnico-di-torino-si-parla-di-bigdata-giudiziari-e-di-juriswiki)
위 자료는 BOAZ 2016 하반기 프로젝트 주제의 하나로, Advanced 정규세션 동안 Base 정규세션에서 배웠던 다양한 이론들과 기본 지식들, 그리고 툴 활용능력들을 직접 실행하며 진행한 결과물입니다.
*** 서울시 2030 나홀로족을 위한 라이프 가이드북 ***
서울에 거주하는 2030 나홀로족을 위해 제작된 라이프 가이드북. 이 가이드북의 주목적은 먹는 것(식) 그리고 사는 것(주)에 대해서 그에 관한 정보를 주는 것임.
6기 김승효 중앙대학교 응용통계학과
6기 김재은 이화여자대학교 시각디자인과
7기 박다혜 한국외국어대학교 통계학과
** 국내 최초 대학생 빅데이터 연합동아리 BOAZ **
Blog : http://BOAZbigdata.com
Facebook : http://fb.com/BOAZbigdata
Oxalide MorningTech #1 - BigData
1er MorningTech @Oxalide, animé par Ludovic Piot (@lpiot), le 15 décembre 2016.
Pour cette 1ère édition du Morning Tech nous vous proposons une overview sur un des thèmes du moment : le Big Data.
Au delà de ce buzz word nous aborderons :
Les grands concepts
Les étapes clés des projets Big Data et les technologies à utiliser (stockage, ingestion, …)
Les enjeux des architectures Big Data (architecture lambda, …)
L'intelligence artificielle (machine learning, deep learning, …)
Et nous finirons par un cas d'usage du big data sur AWS autour de l'utilisation des données gyroscopiques de vos internautes mobiles
Subject: Oxalide's 1st MorningTech talk about BigData.
Date: 15-dec-2016
Speakers: Ludovic Piot (@lpiot, @oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-morningtech-number-1-bigdata
Lien SlideShare : https://www.slideshare.net/LudovicPiot/oxalide-morningtech-1-bigdata
YouTube Video capture: https://youtu.be/7O85lRzvMY0
Main topics:
* Les grands enjeux du BigData
** les 3 V du Gartner : volume, variété, vélocité
* Le stockage des données
** datalake
** les technos
* L'ingestion des données
** ETL
** datastream
** les technos
* Les enjeux du compute
** map-reduce
** spark
** lambda architecture
* Démo d'une plateforme BigData sur AWS
* L'intelligence artificielle
** datascience exploratoire et notebooks,
** machine learning,
** deep learning,
** data pipeline
** les technos
* Pour aller plus loin
** La gouvernance des données
** La dataviz
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...FactoVia
Vincent Thavonekham et Philippe Guédez de VISEO,
Reactive Extension Rx.Net architecture to overcome the SigFox limits and absorb the heavy IoT load with BigData (using ASP.Net Core Microservices). ALL TECHNICAL DETAILS unveailed.
Kiến trúc phần mềm cho các site chịu tải lớn – Software architecture for high traffic Website
Case study giới thiệu về kiến trúc của một site traffic lớn đó là stackoverflow.com - trang hỏi đáp về lập trình rất nổi tiếng
Bài trình bày của bạn Ngô Xuân Hòa tại Meetup 4 của Ha Noi .NET Group.
Chi tiết vui lòng xem tại: http://tungnt.net
DevOps đại diện cho một sự thay đổi trong văn hóa CNTT, tập trung vào cung cấp dịch vụ CNTT nhanh chóng thông qua áp dụng Agile, Lean trong bối cảnh của phương pháp tiếp cận theo định hướng về hệ thống. DevOps nhấn mạnh yếu tố con người (và văn hóa), và tìm cách cải thiện sự phối hợp giữa các hoạt động và đội ngũ phát triển, triển khai DevOps sử dụng công nghệ - đặc biệt là các công cụ tự động hóa có thể tận dụng một cơ sở hạ tầng ngày càng hiệu quả và tăng cường theo hướng có thể lập trình được và bạn sẽ có một cơ sở hạ tầng linh động trong chu trình phát triển.
Đây là sự kiện mà ITEC hợp tác cùng cộng đồng AWS Việt Nam tổ chức:
Diễn giả: Bùi Kiên Cường và Quân Phương trình bày.
Thời gian: 22-09-2016, tại Hatch!Nest Hà Nội.
Bài thuyết trình môn học Hệ Điều Hành.pptxduongchausky
Hệ điều hành là một môn học cung cấp kiến thức cơ bản về quản lý tài nguyên của máy tính. Dưới đây là một số nội dung chính của môn học hệ điều hành:
Định nghĩa và tính chất của hệ điều hành:
Định nghĩa và tính chất cơ bản của hệ điều hành.
Lịch sử phát triển hệ điều hành.
Phân loại hệ điều hành.
Quản lý tiến trình:
Tiến trình và luồng (process/thread).
Đồng bộ hóa tiến trình.
Lập lịch CPU.
Tắc nghẽn và xử lý tắc nghẽn:
Khái niệm tắc nghẽn.
Điều kiện xảy ra tắc nghẽn.
Các phương pháp xử lý tắc nghẽn.
Quản lý bộ nhớ:
Khái niệm chung về quản lý bộ nhớ.
Các chiến lược quản lý bộ nhớ thực.
Quản lý bộ nhớ ảo.
Quản lý tập tin:
Hệ thống quản lý tập tin.
Thư mục và cách cài đặt hệ thống file và thư mục.
Quản lý nhập xuất:
Hệ thống vào ra.
Xử lý vào ra.
Quản lý truy cập đĩa.
Môn học hệ điều hành giúp bạn hiểu nguyên tắc hoạt động của hệ điều hành và cung cấp kiến thức cơ bản để xây dựng và quản lý các hệ điều hành cụ thể. Nếu bạn muốn tìm hiểu thêm, có thể xem các tài liệu chi tiết về môn học này.
[DevDay2019] Opportunities and challenges for human resources during the digi...DevDay.org
The term "digital transformation" is mentioned a lot recently and is considered as the first platform to access and apply technologies in the 4th industrial revolution. So what are the opportunities and challenges for human resources during this period? With many years working and researching in human resource training for the software industry, he hopes these sharing will be helpful to you.
Slide trình bày một cách đơn giản nhất kiến thức nhập môn, tạo ra chương trình lập trình giao diện đầu tiên bằng PySide cho những người đã có kiến thức nhất định về Python.
Trang cá nhân của tác giả có thay đổi về địa chỉ:
https://chiencg.wordpress.com/
My presentation at Software Free Day 2017 - 16 September 2017, organized by Vietnam Free and Open Source Software Association.
http://sfd2017.vfossa.vn
Similar to ITEC - Qua trinh phat trien he thong BigData (20)
1. Quá trình phát triển của hệ
thống BigData @ niconico
Bùi Hồng Hà
1
http://bit.ly/itec-bigdata-event
2. Nội dung
• Giới thiệu bản thân
• Giới thiệu qua về nicovideo
• Quá trình phát triển hệ thống bigdata (hệ thống X)
• Bối cảnh lịch sử - quá trình phát triển
• Thiết kế dữ liệu
• Một số bài học thu được
2
3. Giới thiệu bản thân
• Bùi Hồng Hà
• Kỹ sư hệ thống (infrastructure engineer)
• Dwango (2012 – 2016)
• Thiết kế vận hành Nicovideo (và các dịch vụ nhỏ khác)
• Thiết kế - xây dựng - vận hành hệ thống X
• Sở thích
• Đọc sách
• Viết lách http://kipalog.com/users/BuiHongHa/mypage
3
4. Giới thiệu về niconico
• Ra đời năm 2006
• “Youtube” Nhật Bản.
• Website rank 8 toàn Nhật Bản. Alexa rank: 78
• Quy mô người dùng
• 55 triệu người dùng đăng ký
• 2.5 triệu người dùng trả tiền
• Mô hình kinh doanh
• Subscription
• 5$ / tháng
• Tổng số dịch vụ: ~ 50
5
9. Công nghệ nicovideo (2006 ~ 2014)
• Kiến trúc monolithic
• LAMP (Linux – Apache – Mysql – PHP)
• Máy chủ on-premises
• 4000 – 5000 máy chủ
• 3 datacenters
10
10. Công nghệ nicovideo (2014 ~ 2016)
• Kiến trúc
• Chuyển từ monolithic sang hướng dịch vụ (service oriented)
• Công nghệ
• PHP Scala
• MySQL MariaDB
• Apache / Varnish -> nginx
• Máy chủ
• On-premises-> Cloud (Amazon / Azure)
11
12. Tại sao bài nói này lại về quá trình?
• Không có kiến thức tổng quan
• Chia sẻ case-studies
• Phân tích sự việc dựa trên ngữ cảnh
• Không có hệ thống ”lởm”
• “Those who do not learn history are doomed to repeat it”
• Quyết định của người thiết kế hệ thống là bài học vô giá
13
14. Định nghĩa của Gartner
• Đặc điểm dữ liệu
• High-volume
• High-velocity
• High-variety
• Hệ thống: cần hệ thống xử lý dữ liệu mang tính đột phá
• Khả năng phân tích thông tin
• Hỗ trợ quá trình ra quyết định
• Tự động hoá quy trình
15
15. Hệ thống X để làm gì?
• Xu hướng bigdata
• 2011 – 2012 buzzword
• Các cty công nghệ Nhật trong giai đoạn này đều xây dựng hadoop
cluster
• Nhu cầu phân tích dữ liệu của chính công ty
• Thời gian người dùng xem 1 video là bao lâu?
• Nhóm người dùng (độ tuổi, vùng miền, sở thích, thiết bị)
• Thông tin thanh toán
• Người dùng của hệ thống X?
• Nhân viên kế hoạch
• Nhân viên kinh doanh
16
18. Bối cảnh năm 2012 - 2013
• BigData buzzword
• I keep saying that the sexy job in the next 10 years will be statisticians – Hal
Varian
• Hadoop release (2011)
• BigData là lĩnh vực hoàn toàn mới
• Chưa có công ty ở Nhật nào triển khai chưa có knowhow
• Tài liệu không có nhiều
21
19. Vấn đề năm 2012 - 2013
• Xem con số ở đâu?
• Bộ phận kinh doanh / kế hoạch không có nguồn số liệu
• SRE là người đảm nhận trích xuất dữ liệu
• Không phải nhiệm vụ
• Dùng các tools: sed / awk / grep / count / SQL... Chạy trực tiếp trên
máy chủ ảnh hưởng trực tiếp đến dịch vụ
• Không đảm bảo được tính chính xác của con số
22
20. Giải pháp của năm 2012 - 2013
• Xây dựng “data warehouse” riêng phục vụ cho việc phân tích
dữ liệu
• Start small
• Không tính đến high-availability
• Front không tính đến tính phát triển.
• Không dùng tool opensource
23
21. Kiến trúc năm 2012 - 2013
24
• 1 batch server
• Storage gắn ngoài RAID-5
15T
• 1 front server chuyên compile pig
ra Java jar.
• Chạy webapp tự viết
(CakePHP)
• User dùng web interface để
chạy job
• 1T storage
• 30 users
• 10 nodes tính toán
• 8T * 10 ~ 80TiB
• CDH2
23. Bối cảnh năm 2014
• Kỳ vọng ngày càng tăng cao
• 1 dịch vụ nhiều loại log gây áp lực lên dung lượng storage
• Thời gian chạy job đòi hỏi ngắn lại đòi hỏi nâng cấp cluster
• Hợp đồng với datacenter kết thúc
27
24. Các vấn đề của năm 2014
• Dự toán eo hẹp
• Các máy tính đời 2012 hết hạn bảo hành cần thay mới
• Log tích luỹ trong hơn 3 năm (360T / 480T)
• Số lượng máy chủ nhiều (1 máy * 10 đĩa cứng SATA * 48 máy
== 480)
• Hỏng đĩa cứng trở thành việc hàng tuần
• Khi đĩa cứng hỏng máy ngừng phục vụ dịch vụ số lượng cores
không đủ
• Network / CPU bắt đầu trở thành bottleneck của hệ thống
28
25. Kiến trúc năm 2014
29
• 48 nodes tính toán
• 10TiB * 48 ~ 480TiB
• 12 cores * 48 = 576 cores
• CDH5.3
• Provision tools
• Chef
• Một phần các cài đặt tại
OS layer được thực hiện
ở PXE kickstart
• Vấn đề CRC
27. Bối cảnh 2015 - 2016
• Hầu hết các log file đều đã được lưu trữ trên hệ thống X
• Đến lúc cải tiến và nâng cấp hệ thống
• Knowhow việc nâng cấp vận hành hệ thống
• Stream processing
• Công nghệ container trở thành tâm điểm
• docker
• Cloud computing
33
28. Vấn đề gặp phải
• Tính sẵn sàng của hệ thống chưa được cải thiện
• Stream processing là công nghệ hoàn toàn mới
• Docker là công nghệ mới
• Các dịch vụ mới bắt đầu được triển khai trên cloud
34
29. Giải quyết 1: sử dụng lxc container
36
Container là công nghệ không mới.
Chi tiết: http://kipalog.com/tags/LXC
31. Giải quyết 2: sử dụng đĩa cứng 3T
• Tránh việc nâng cấp hệ thống qua từng năm
• Việc xin kinh phí rất phiền phức
• Quá trình nâng cấp và mở rộng tốn rất nhiều cost.
• Tránh dùng công nghệ cũ
• Đĩa cứng 3T dần trở nên phổ biến.
• 1 máy chủ có thời gian khấu hao là 5 năm dùng công nghệ cũ trong
5 năm
38
32. Giải quyết 3: thêm streaming layer
• Streaming layer được phát triển mang tính thử nghiệm
• Streaming layer dùng fluentd
• Fluentd do người Nhật phát triển
• “Người người nhà nhà” dùng fluentd knowhow có nhiều
• Cấu hình và sử dụng đơn giản
39
34. Các vấn đề còn tồn đọng
• Vấn đề của streaming layer
• Fluentd không được thiết kế để phục hồi khi có sự cố
• Fluentd không đáp ứng đủ hiệu năng
• Fluentd không được thiết kế để routing log qua internet
• Không join được với master data
• Vấn đề batch
• SPOF ở batch server
• Thiếu cơ chế quản lý job batch
• Vấn đề của lxc
• Vấn đề về chuẩn hoá kiểu dữ liệu
42
35. Star-Schema trong Data warehouse
43
** The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling
36. Thiết kế schema
• Dữ liệu như access log là dữ liệu “thô”
• Không có schema
• Gây khó khăn trong việc phân tích
• Sử dụng storage như kudu để tăng tốc
44
37. Bài học cá nhân
• The management question, therefore, is not whether to build a
pilot system and throw it away. You will do that. […] Hence plan
to throw one away; you will, anyhow. – Fred Brooks
• Nguyên tắc 40% cho các hệ thống đang phát triển
• Thiết kế để hệ thống phát triển
• Không có SPOF
• Có phương án phục hồi khi gặp sự cố
• Định kỳ viết ra knowhow của mình và chia sẻ cho mọi người
45
Để tránh tham gia vào cuộc chiến tôn giáo của các ngôn ngữ lập trình thì mình sẽ không nói rõ các ngôn ngữ mà mình thích.
Hỏi về background của người nghe.
Bao nhiêu người là lập trình viên
Bao nhiêu người là sysadmin
Bao nhiêu người giữ các vị trí quản lý (PM, PO)
55 triệu người dùng
Con số này là con số ảo
Có người dùng dùng rất nhiều nick (spam / kiếm tiền / lừa đảo)
http://www.nicovideo.jp/watch/sm29259018
Vision:
TV trên internet
truyền hình tương tác
live.nicovideo.jp
Con số máy chủ là ước lượng
Nicovideo máy chủ riêng
Nicovide live máy chủ riêng
Framework tự phát triển
Tại sao lại chuyển từ PHP Scala
Hiệu năng của JVM cao hơn PHP
MariaDB có galera cluster multi master (mysql 5.7 cũng có)
Nhóm người nghe đa dạng Cần chủ đề tất cả nghe đều hiểu
Nhiều chi tiết kỹ thuật đi sâu rất dễ buồn ngủ
Tuy vậy nếu anh em nào thắc mắc kỹ thuật cứ tự nhiên hỏi.
Kinh nghiệm == hiểu biết “cái gì hoạt động cái gì không”
Big data is high-volume, high-velocity and/or high-variety information assets that demand cost-effective, innovative forms of information processing that enable enhanced insight, decision making, and process automation.
Sysadmin sẽ phải dùng các tool chia sẻ
Map-Reduce 2005
Knowhow
Cấu hình máy chủ ra sao
Batch chạy
PHP: nội dung của batch là upload log + chỉnh hình lại log.
đặt lịch = cron
Monitoring == zabbix
Log upload viết = PHP
Các hệ thống gửi log lên vào lúc 4h sáng hàng ngày == scp
(tại sao lại 4h sáng) thì log-rotate lúc 4h sáng
Hadoop lưu dữ liệu dưới dạng lzo
Một số lựa chọn thiết kế gây ra vấn đề cho sau này:
Batch server 1 máy, storage gắn ngoài
Front server: để chạy job Tạo account cho từng user trên máy chủ thắt quota (2G/người)
Người dùng cuối không quan tâm đến công nghệ
Quy trình trước đây:
- Thống nhất con số cần lấy
Liên lạc sysadmin để lên phương án
Nhận số liệu, phân tích và tổng hợp
Cần training người dùng cuối
Vấn đề rời tất cả các máy chủ sang datacenter mới
OS: kickstart
Chef dùng trong các công việc sau:
Cấu hình máy chủ (OS layers)
Cài đặt Java, Hadoop, pig ...
Cài đặt zabbix
...
Thời gian launching ngắn, các dự án thử nghiệm đều được triển khai trên cloud
Công ty chưa hề có knowhow
Docker
Chưa ổn định
OS tiêu chuẩn của công ty là Centos6 không tương thích 100% với docker
Tại sao lại chuyển provision tool từ chef ansible
Chuyển đổi việc quản lý cluster từ chef sang cloudera manager Các setup liên quan đến cluster trước đây viết bằng chef không còn cần thiết
Team có nhiều thay đổi đòi hỏi việc training. Một trong những training tốt nhất là cài đặt máy chủ == cách viết ansible script
Công ty có thay đổi nhân sự. Người quản lý mới thích ansible
(CRC32)
Lý do chọn LXC:
Công ty không có knowhow sử dụng openvz. Trước khi triển khai ở hệ thống này, công ty có lauch 1 dự án và có sử dụng thí điểm LXC
Về cơ bản LXC giống openvz nên không có yếu tố performance gì trong này cả
Các middleware opensource lưu trữ trên HDFS thay vì OS File System
Nói về vấn đề latency – traffic tradeoff
Global gate chạy webserver nhận file upload từ cloud
Tại sao lại nhận file mà ko phải là đi lấy file khác? Hợp đồng IP với bên cloud tốn cost
Tại sao lại không phải từ batch server đi mà lại từ một server riêng?
Chuyện buồn:
CRC = CRC32
Thiếu phương án join giữa dữ liệu ở stream layer và dữ liệu trên HDFS
Đĩa cứng hỏng bay mất toàn bộ dữ liệu, không thể phục hồi
Bài toán:
Các máy chủ web phục vụ dịch vụ cho người dùng
Log (Apache/App) được ghi ra file
fluentd tail log file và gói mỗi “buffer size” dữ liệu và gửi đi dưới dạng 1 message
Performance của fluentd có hạn
a regular PC box can handle 18,000 messages/second with a single process.
Bài toán:
Máy chủ web sử dụng back network để liên lạc với back network (1G bonding)
Nếu để buffer size quá cao back network sẽ có burst. Peak time có thể bị ảnh hưởng latency
Nếu để buffer size thấp back network từ từ gửi. latency thấp nhưng số lượng msg tốn
Ví dụ thực tế
BUT (Big User Table): 48 trường dữ liệu, lưu trữ rất nhiều
- Simpler queries - star schema join logic is generally simpler than the join logic required to retrieve data from a highly normalized transactional schemas.
- Simplified business reporting logic - when compared to highly normalized schemas, the star schema simplifies common business reporting logic, such as period-over-period and as-of reporting.
- Query performance gains - star schemas can provide performance enhancements for read-only reporting applications when compared to highly normalizedschemas.
- Fast aggregations - the simpler queries against a star schema can result in improved performance for aggregation operations.
- Feeding cubes - star schemas are used by all OLAP systems to build proprietary OLAP cubes efficiently; in fact, most major OLAP systems provide a ROLAPmode of operation which can use a star schema directly as a source without building a proprietary cube structure.
The main disadvantage of the star schema is that data integrity is not enforced as well as it is in a highly normalized database. One-off inserts and updates can result in data anomalies which normalized schemas are designed to avoid
Khi hệ thống vận hành với 40% năng lực của nó, đấy là lúc nên tính đến việc nâng cấp và mở rộng
Giám sát chặt chẽ các tài nguyên hệ thống: I/O, Memory, CPU (sys/user), FileSystem (storage, inode), interrupt
Am hiểu cách thức hoạt động của phần mềm
Hadoop: CPU 100% là bình thường
Cơ thể sống thay đổi hàng ngày
Code cập nhật hàng ngày
Server thay đổi hàng ngày
Đĩa cứng hỏng hàng ngày
Câu chuyện về Streaming. Người thiết kế và lựa chọn middleware không tính đến việc phục hồi khi có sự cố
Một kỹ sư viết sai file cấu hình 2 log khác nhau ghi chung ra cùng 1 buffer directory log bị gửi không toàn vẹn và không thể phục hồi
Một kỹ sư đưa ra phương án: cho máy chủ của tất cả các hệ thống khác dùng nfs mount để mount máy chủ batch của hệ thống bigdata. Các máy chủ web chỉ việc ghi dữ liệu vào phân vùng này loại bỏ việc scp / upload hàng ngày
Phá sản vì cách làm này làm tăng tính phụ thuộc của tất cả các hệ thống khác vào batch module.
Spark?
Spark Streaming?
SparkR?
YARN?
Mesos?
Kể cả các công ty như cloudera không biết đâu là tương lai…
Doug Cutting nói rằng ông không biết. Ông nói tương lai quyết định bởi cộng đồng