Categories
程式開發

架構演進的兩大方向,一個是Serverless,另一個是什麼?

《沉寂多年,無服務器爆發,其硬核是什麼? 》一文中,我們就什麼是無服務器技術,它是如何發展的,它的優點、缺點是什麼,對企業的價值在哪裡進行了梳理。本文講講Service Mesh。在架構領域,Service Mesh和Serverless一樣,是非常重要的一個方向。

這麼說吧,掌握了Service Mesh,你就選擇了一條未來技術框架的道路。至於這條道路會怎麼發展,還要再觀察。這篇文章將解釋什麼是Service Mesh,為什麼需要Service Mesh,以及Service …

Categories
程式開發

攜程容器偶發性超時問題案例分析(二)

本文為容器偶發性超時問題案例分析的第二篇,第一篇點這裡。

前言

隨著內核升級到4.14.67,看上去延遲的問題徹底解決了,然而並沒有,只是出現的更加緩慢。幾週後,超時報障又找了過來,我們用perf來分析,發現了一些異常。

如圖1所示是一個空負載的宿主機升級內核後8天的perf的數據,明顯可以看到kworker的max delay已經100ms+,而這次有規律的是,延遲比較大的都是最後四個核,對於12核的節點就是8-11,並且都是同一D廠的宿主機。而上篇中使用新內核後用來驗證解決問題的卻不是D廠的宿主機,也就是說除了內核,還有其他的因素導致了延遲。

攜程容器偶發性超時問題案例分析(二) 5

圖1

NUMA和CPU親和性綁定

NUMA全稱Non-Uniform Memory Access,NUMA服務器一般有多個節點,每個節點由多個CPU組成,並且具有獨立的本地內存,節點內部使用共有的內存控制器,節點之間是通過內部互聯(如QPI)進行通信。…

Categories
程式開發

一站式入口服務:愛奇藝微服務平台 API 網關實戰

寫在前面

在互聯網業務微服務化改造過程中,按照以往的服務治理體系,各服務需要單獨實現限流、鑑權、監控、日誌等通用功能,構建入口時資源申請、工單批复、多系統配置等一系列流程對精力消耗極大,學習成本較高,開發者也很難通過全局視角對各服務入口統一管理。愛奇藝微服務平台應運而生,通過組件化和服務化,助力業務解耦,不同微服務獨立部署、獨立擴展,保證各服務模塊邊界穩固,幫助業務實現微服務化改造。
作為微服務平台最重要的邊界組件,愛奇藝API 網關誕生於2016 年底,底層基於開源項目Kong 實現,旨在為開發者提供穩定、便捷、高性能、可擴展的服務入口功能,一站式管理API 配置和生命週期,對微服務治理具有重要意義。

關於愛奇藝微服務平台API網關

架構總覽

類似 …

Categories
程式開發

企業服務交互機器人將向多模態演進

這幾年,企業服務賽道異常火熱,AI技術的創新和落地應用在提高企業服務效率上發揮了重要作用。相對於 TO C 端的聊天機器人,運用到企業服務場景中的智能交互機器人對垂直領域知識的專業度和回答的精確度有著更高的要求。現階段的智能交互機器人還存在一些局限性,在形象化、擬人化、情感洞察方面瓶頸凸顯,對此,追一科技提出了一系列解決方案,包括語音語義聯合建模、文本風格遷移等。

在11月21-22日召開的AICon全球軟件開發大會(北京站)2019 現場,InfoQ有幸採訪到了追一科技AI Lab高級算法研究員徐易楠,他分享了追一科技目前在企業服務智能交互機器人上的研究和探索,並就下一代交互機器人的發展趨勢發表了看法。

以下為InfoQ與徐易楠對話全文,有刪減。

InfoQ:您自何時因何契機加入追一科技,目前在追一主要負責哪些工作?

徐易楠:

Categories
程式開發

Heroku 的自動化持續部署之旅

Heroku 工程團隊記錄了他們利用 Heroku 運行時Heroku Runtime)從手動部署到自動化持續部署的過程,Heroku運行時是他們的應用程序託管環境。他們使用 …

Categories
程式開發

用PyTorch單挑全世界,特斯拉是如何實現自動駕駛的?

概要

  • 特斯拉的工程師們正致力於開發一種發展自動駕駛技術的方法,這種方法能夠真正適應數據的擴展,而不用因為數據規模擴展而增加工程師的人力。
  • 工程師們還在試圖盡可能有效地利用打標工人。這意味著要將數十億英里駕駛過程中出現的計算機視覺錯誤樣本都積累起來。
  • 人類輸入是一種信號源。人類行為能夠告訴機器哪些地方做錯了,在一些場景下還能夠告訴機器怎樣做是對的。
  • 不管特斯拉是否會在全自動駕駛技術領域取得成功,但有一點是肯定的,特斯拉會在城市環境中部署半自動駕駛汽車。

Andrej Karpathy是特斯拉(TSLA,https://seekingalpha.com/symbol/TSLA)的AI高級總監,他最近發表了一次演講(https://youtu.be/oBklltKXtDE

Categories
程式開發

飛行中換發動機:金融數倉架構轉型的最佳實踐

中國建設銀行有著將近20 年的數據倉庫建設歷史,其技術平台的轉型和應用建設過程,既是引領國內各大銀行數據倉庫建設的標杆和榜樣,同時也可以說是國內銀行業數倉建設歷程的一個縮影。

2000 年初,建行開始啟動數據倉庫的規劃和構建,最早採用了Teradata 一體機平台,為業務提供了集成、統一的數據倉庫平台,但隨著數據量和分析應用數量的快速增長,一體機平台成本昂貴、技術封閉等痛點開始顯現。

2012 年,建行啟動新一代架構建設,在數據線引入基於 X86 架構的 MPP …

Categories
程式開發

银行的云计算应用

导读:这是系列文章之一。本系列梳理了国内外银行信息化历程,包含区块链、云计算、物联网、移动端、人工智能各方面的应用情况。

一、云计算发展简介

1963年,DARPA(美国国防高级研究计划局)向麻省理工学院提供了约200万美元的津贴,启动了著名的MAC项目,要求麻省理工开发“多人可同时使用的电脑系统”技术。当时麻省理工就构想了“计算机公共事业”,即让计算成为像电力一样供应。这个项目产生了“云”和“虚拟化”技术的雏形。

然而,有趣的是,尽管思想萌芽出现的很早,但直到将近40年后的2006年,“云计算”这一术语才出现在商业领域,Google、亚马逊和IBM先后提出了云端应用。

Google一开始是为了将大量廉价的服务器组合起来支持其庞大的搜索业务;亚马逊则是因为自建数据中心后,为了将多余的空间出租出去,而推出了EC2 (Elastic Compute Cloud)云服务;IBM则是在从硬件制造商转型为企业级软硬件整体解决方案供应商的过程中,逐渐形成云服务能力,与2007年推出了Blue Cloud服务,但是最终,起步并不晚的IBM却错失了“云计算”的快车;2008年,微软在其开发者大会上发布了PaaS云计算平台──Azure Service …

Categories
程式開發

未編譯Python代碼比Go慢100倍

我是編譯型編程語言的忠實粉絲,一直都是。雖然解釋型編程語言可以讓開發者更快地編寫和測試代碼,但我仍然認為編譯器是值得長期投入的。在我看來,編譯型代碼有兩個明顯的優勢:

  • 每次修改代碼都可以得到驗證,甚至是在開始運行代碼之前。

  • 更快的執行速度。根據具體情況,代碼可能被編譯成非常底層的運行指令。

我之所以要寫這篇文章,是想比較一下編譯型代碼的執行速度會比解釋型快多少。

因為我偏愛編譯型編程語言,所以現在有個問題:我手頭有很多感興趣的代碼,但它們都是用 Python 寫的,我該怎麼辦?全部重寫?部分重寫?完全不重寫?

先入之見

Categories
程式開發

把阿里巴巴的核心系統搬到雲上,架構上的挑戰與演進是什麼?

阿里巴巴核心系統作為全球最大規模、峰值性能要求最高的電商交易系統,在 2018 年之前只通過混合雲彈性上雲方式,為雙 11 節約大量成本。直到 2019 年,阿里巴巴實現了核心交易系統全面上雲並經歷了雙 11 峰值的考驗。

在今天由極客邦科技舉辦的 …