>  기사  >  2018년 백엔드 기술 분석 요약

2018년 백엔드 기술 분석 요약

小云云
小云云원래의
2018-02-01 14:01:012089검색

저희는 이전에 2018년 프런트엔드 기술 동향 요약을 공유했습니다. 이번 글에서는 2018년 백엔드 기술 분석 요약을 공유하겠습니다. 모든 분들께 도움이 되기를 바랍니다.

Node.js

Node.js도 매우 유명하고 유명하지만 Node.js를 회사 백엔드의 주요 프로그래밍 언어로 사용하는 기업은 여전히 ​​흔하지 않습니다. C++, Java, PHP 및 Python 언어에도 Node.js와 유사한 비동기 콜백 모드를 기반으로 하는 Swoole-1.0을 포함하여 유사한 솔루션이 있습니다.

근본적인 이유는 비동기 콜백의 기술적 솔루션과 이에 기반한 일부 최적화 솔루션(Promise, Future, Yield/Generator, Async/Await 등)이 프로그램 개발 스타일과 습관을 바꾸었기 때문입니다. 이러한 기술을 사용하려면 엔지니어는 이러한 키워드와 기능을 사용하는 방법을 추가로 학습해야 합니다.

이러한 기술 솔루션을 사용하면 기존 프로그램과 호환되지 않습니다. R&D 비용이 엄청나고 원활한 전환이 어렵다고 할 수 있다. 비동기 콜백 기술 스택의 인기에 영향을 미쳤습니다. 이 프로그래밍 모델은 모든 사람이 받아들이기 어렵습니다.

비동기 모드

Go 언어가 점점 더 대중화되고 있으며 많은 대형 인터넷 회사들이 백엔드를 GO로 전환하고 있습니다. Java 분야에서 잘 알려진 서비스 지향 프레임워크인 Dubbo도 비동기 모드로의 전환을 발표했습니다. 이는 큰 추세이며 비동기식 모델은 시장에서 검증되고 인정되었습니다.

웹 서버 선택 측면에서 대부분의 사람들은 몇 년 전부터 동기식 차단 Apache 대신 비동기식 비차단 Nginx를 선택하기 시작했습니다. Nginx와 같은 비동기 프로그램이 더 나은 적응성과 더 강력한 동시성 기능을 제공하기 때문입니다. 이제 백엔드 비즈니스 개발 프로그래밍 측면에서 강력한 기술 역량을 갖춘 팀이 기술 스택을 동기 모드에서 비동기 모드로 전환하기 시작했습니다.

동기식 차단 모드에는 결함이 많습니다. 약한 동시성, 낮은 적응성 및 느린 요청으로 인해 서비스를 사용할 수 없습니다. 예를 들어, 백그라운드 인터페이스에서 타사 API를 호출하는 시나리오에서 동기화 모드는 효과가 매우 낮습니다. 과거에는 Java, PHP, C++, Python 및 Ruby 언어를 사용하여 개발된 동기식 차단 모드 프레임워크를 사용하는 사람이 점점 줄어들었습니다.

Coroutine

코루틴 모드는 동기 차단의 유지 관리 가능성과 비동기 비차단의 높은 동시성 기능을 고려합니다. 이는 향후 백엔드 개발 분야의 주류 기술 솔루션이 될 것입니다.

가장 중요한 점은 코루틴 모드를 실행하려면 기존 프로젝트 코드를 약간만 조정하면 되며 이전 프로젝트와도 완벽하게 호환된다는 것입니다. 호환성을 위해서는 프레임워크 레이어만 필요합니다. 이를 통해 팀의 원활한 전환이 가능합니다.

코루틴 모드를 사용하면 개발자는 추가적인 키워드나 함수 사용법을 전혀 배울 필요가 없습니다. 코딩 스타일은 동기 모드와 완전히 동일합니다.

다양한 코루틴 기술 중에서 <code><span style="font-size: 14px;">GO</span> 是最耀眼的那一个。协程、通道、静态语言、性能、富编译、标准库丰富、生态完整、Google 等,优势太多了。GO 语言,个人认为是目前所有编程语言中,最值得学习的

<span style="font-size: 14px;">Swoole 2.x</span> 让 PHP 这门 20多年历史的老牌后台编程语言也能有协程的能力。相比 <span style="font-size: 14px;">Go</span> 这样的技术,<span style="font-size: 14px;">PHP + Swoole</span> 的技术栈,更适合快速开发、快速迭代、业务驱动的场景。毕竟动态语言比静态语言还是要更加灵活、开发效率更高。而 <span style="font-size: 14px;">Go</span> 更适合编写系统级软件、核心业务。

2018 年我重构了 swoole framework 这个很老的项目,底层支持 <span style="font-size: 14px;">Swoole 2.x</span> 协程模式。主要原因是车轮公司内部有很多项目基于这个框架,尤其是服务层全部用了 swoole framework。我们希望业务代码一行不改,可以一键切换为协程模式。理论上其他的同步阻塞 PHP 框架,如 Laravel 、Yii ,都可以实现只修改底层兼容 <span style="font-size: 14px;">Swoole 2.x</span>GO가 가장 눈부신 기술입니다. 코루틴, 채널, 정적 언어, 성능, 풍부한 컴파일, 풍부한 표준 라이브러리, 완전한 생태학, Google 등 장점이 너무 많습니다.

내 생각에는 GO 언어가 현재의 모든 프로그래밍 언어 중에서 가장 배울 가치가 있는 언어입니다

.

🎜Swoole 2.x🎜🎜를 사용하면 20년 이상의 역사를 지닌 베테랑 백엔드 프로그래밍 언어인 PHP에 코루틴 기능을 사용할 수 있습니다. 🎜🎜Go🎜🎜와 같은 기술과 비교할 때 🎜🎜PHP + Swoole🎜🎜의 기술 스택은 신속한 개발, 빠른 반복 및 비즈니스 중심 시나리오에 더 적합합니다. . 결국 동적 언어는 정적 언어보다 개발에 더 유연하고 효율적입니다. 그리고 🎜🎜Go🎜🎜는 시스템 수준의 소프트웨어 및 핵심 비즈니스를 작성하는 데 더 적합합니다. 🎜🎜🎜🎜2018년에 저는 아주 오래된 프로젝트인 swoole 프레임워크를 리팩토링했으며 기본 지원은 🎜🎜Swoole 2.x🎜🎜 코루틴 모드입니다. 주된 이유는 휠 회사 내에서 이 프레임워크를 기반으로 하는 프로젝트가 많기 때문입니다. 특히 서비스 계층에서는 모두 Swoole 프레임워크를 사용합니다. 비즈니스 코드가 한 줄도 바뀌지 않고 클릭 한 번으로 코루틴 모드로 전환될 수 있기를 바랍니다. 이론적으로 Laravel 및 Yii와 같은 다른 동기식 차단 PHP 프레임워크는 기본 호환 🎜🎜Swoole 2.x🎜🎜 코루틴만 수정하여 프로젝트 코드에서 코루틴 모드를 원활하게 전환할 수 있습니다. 🎜🎜🎜🎜코루틴을 사용한 후 전체 시스템의 성능, 동시성, 안정성이 크게 향상되었습니다. 과거에는 느린 요청으로 인해 종종 전체 서버가 온라인 상태로 멈추던 문제가 더 이상 존재하지 않습니다. 🎜🎜

PHP & Swoole

Swoole 2.0이 출시된 지 2년이 채 안 됐지만, 10년 동안 Go 언어를 열심히 개발한 것에 비하면 아직 갈 길이 멀다. 그러나 GO와 같은 정적 언어에 비해 PHP + Swoole은 여전히 ​​많은 장점을 가지고 있습니다. PHP는 동적 언어이며 사용하기가 더 쉽습니다.

물론, 새로운 프로젝트라면 <span style="font-size: 14px;">Swoole 2.x</span>Swoole 2.x용으로 특별히 설계된 프레임워크인 Swoft를 사용하는 것이 좋습니다. 더 나은 안정성.

이제 Swoole 2.0 코루틴을 통해 우리는 여전히 PHP의 미래에 대해 확신을 갖고 있습니다. web 1919 유용한 JavaScript 약어 공유 기술 트렌드의 분석가가 2018 년 : PHP 기술을 개선하는 방법 및 방법



🎜 🎜🎜🎜🎜🎜 🎜🎜🎜🎜🎜
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.