nhat.dev
  • Tin tức
  • Dịch vụ
  • Lập trình
    • ReactJS
    • React Native
    • Angular
    • VueJS
  • Hackintosh
    • Hackintosh
    • Opencore
  • Liên hệ
No Result
View All Result
  • Đăng nhập
logo nhat.dev
  • Tin tức
  • Dịch vụ
  • Lập trình
    • ReactJS
    • React Native
    • Angular
    • VueJS
  • Hackintosh
    • Hackintosh
    • Opencore
  • Liên hệ
No Result
View All Result
nhat.dev
No Result
View All Result
Home Lập trình Backend

PHP không dùng để build hệ thống lớn?

Nhat Tran by Nhat Tran
22 Tháng Mười Một, 2019
PHP không dùng để build hệ thống lớn?
480
SHARES
1.5k
VIEWS
Chia sẻ lên FacebookChia sẻ lên Twitter

Khi nói PHP “is bad to build big system” thì mình biết ngay sẽ có hàng tá người nhảy vào comment ngược xuôi. Mỗi người mỗi quan điểm, nhưng có nhiều lập luận mà các bạn chưa thực sự suy nghĩ thấu đáo.

Một số cho rằng tôi chưa dùng PHP nhiều, TIKI là cái system dùng PHP lớn nhất cái đất Việt Nam này luôn rồi. Vì chẳng có cái business nào lớn như TIKI ở Việt Nam mà còn dùng system bằng PHP cả. Hàng triệu dòng code php. Chỉ riêng các service dùng php liên quan tới sản phẩm, seller của team tôi cũng tới cả trăm ngàn dòng code, chục service, hàng trăm background worker.

Có thể bạnquan tâm

Kỹ thuật tối ưu hóa truy vấn trong SQL server

20 công cụ Java tốt nhất cho Developers 2020

Đánh giá điểm mạnh và điểm yếu của PHP

Lập luận thằng lớn dùng như Facebook, Youtube… blabla. Vậy bạn có hỏi nó dùng cho các phần nào không, nó có là main stream cho tất cả các thứ, từ front end tới backend, từ service tới background worker không? Phần lớn backend Facebook đã dùng C++, Youtube không lẽ viết streamming bằng PHP… Alibaba, Taobao TQ backend toàn Java. Bản thân Facebook dùng PHP thì họ cũng viết lại compiler HHVM. Vậy công ty bạn bao nhiêu làm được C ở quy mô lớn? Hay chả có ai.

Lập luận ngôn ngữ không tồi chỉ người làm tồi. Cái này có thể đúng ở ngữ cảnh nhất định, nhưng khi scale tới giới hạn mà vẫn loay hoay với ngôn ngữ đó thì chứng tỏ bạn có vấn đề về trình độ và thái độ. Bạn không hiểu được giới hạn dưới góc độ chuyên môn và bạn bảo thủ ngại thay đổi. Một cái đơn giản PHP không có connection pool, khi traffic tăng cao, số connection tới db tăng vọt không kiểm soát nổi, làm db overload luôn. Bạn định xử lý gì đây, loay hoay tricky cache này cache lọ à ? Hay bạn làm enterprise software, cần ổn định cao, nhưng type dữ liệu của php loạn cào cào, nhiều khi một field đổi type chết hàng tá background worker xử lý. Mỗi cái bug nhỏ nó làm tăng vọt chi phí maintain hệ thống. Nhiều cái xử lý threading ngôn ngữ khác một nốt nhạc, PHP viết script rồi clone hàng tá worker để chạy. Xử lý concurrency thì context switching, cái gì cũng phải móc vào một stateful service nào đó vì php stateless.

Tôi làm .NET gần 8 năm, rồi chuyển sang PHP làm 3 năm, làm cả Python cho phần xử lý binlog dữ liệu, tôi cảm thấy thoải mái chả vấn đề gì. Rồi khi cần tôi cũng chuyển sang Java viết toàn bộ phần đồng bộ dữ liệu xử lý stream realtime cho indexing product. Tôi chả yêu ghét ngôn ngữ nào, có đánh giá thì theo nhu cầu, thoải mái switch từ ngôn ngữ này sang ngôn ngữ khác. Nhưng điều tôi khó hiểu là sao người ta quá định kiến tới vậy. Tôi cho phần nhiều là thái độ bảo thủ, ngại đổi mới và không có tư duy phản biện.

Tags: hệ thống lớnphp
Bài viết trước

Nên học chuyên ngành nào: Kỹ thuật phần mềm hay Khoa học máy tính?

Bài viết sau

Những mẹo tối ưu hóa JS để nâng cao kỹ năng của bạn

Nhat Tran

Nhat Tran

Chia sẻ vài thứ hay ho bản thân tìm hiểu và tìm kiếm được đến mọi người

Bài viết sau
Những cách tối ưu hoá JavaScript mà mọi lập trình viên đều phải biết

Những mẹo tối ưu hóa JS để nâng cao kỹ năng của bạn

Subscribe
Notify of
guest
guest
0 Comments
Inline Feedbacks
View all comments

Recommended.

SEO mũ trắng vs SEO mũ đen ? Chống lại, hợp tác hay hòa hợp ?

SEO mũ trắng vs SEO mũ đen ? Chống lại, hợp tác hay hòa hợp ?

30 Tháng Chín, 2019
Hướng dẫn cài Windows 10 trên Macbook

Hướng dẫn cài Windows 10 trên Macbook

25 Tháng Mười Một, 2019

Trending.

Hướng dẫn cài macOS trên Laptop, PC 2019

Hướng dẫn cài macOS trên Laptop, PC 2019

6 Tháng Chín, 2020
Chuẩn bị kiến thức cơ bản trước khi “vọc” hackintosh

Hướng dẫn tạo bộ cài vanilla hackintosh dễ dàng nhất

6 Tháng Ba, 2020
Cách “lách” bản quyền âm thanh và hình ảnh video Youtube 2020

Cách “lách” bản quyền âm thanh và hình ảnh video Youtube 2020

2 Tháng Mười Một, 2020
Chuẩn bị kiến thức cơ bản trước khi “vọc” hackintosh

Phần cứng phù hợp với Hackintosh macOS

30 Tháng Mười Một, 2019
Chuẩn bị kiến thức cơ bản trước khi “vọc” hackintosh

Cài đặt Clover vào ổ cứng sau khi cài macOS

30 Tháng Mười Một, 2019
nhat.dev

© 2019 nhat.dev

Chia sẻ chút kiến thức, kinh nghiệm, thủ thuật mà bản thân đã tìm hiểu và đọc được với mọi người

  • About me
  • Privacy & Policy
  • Advertise
  • Contact

Theo dõi tôi

No Result
View All Result
  • Tin tức
  • Dịch vụ
  • Lập trình
    • ReactJS
    • React Native
    • Angular
    • VueJS
  • Hackintosh
    • Hackintosh
    • Opencore
  • Liên hệ

© 2019 nhat.dev

Xin chào

Sign In with Facebook
OR

Đăng nhập bằng SSO Nhatdev

Quên mật khẩu?

Create New Account!

Fill the forms below to register

All fields are required. Đăng nhập

Lấy lại mật khẩu

Vui lòng nhập tên người dùng hoặc địa chỉ email của bạn để đặt lại mật khẩu của bạn.

Đăng nhập