天天看點

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

會議議程

Day 0

是Training Day,之後的兩天就都是正式的會議session了,下面圖是Day 1 session day的所有議程。早上會有一個breakfast,之後就是keynotes,主要是redislabs的新特性釋出,畢竟是會議舉辦方嘛,然後是邀請的大客戶出來站台,後面會議記錄會詳細介紹下。接着是各個session的演講時間了,每個session差不多45分鐘時長,會有5-6個session同時進行,是以我們是按需求和興趣挑選着來聽的。所有session結束後,會有一個meetup,大家可以互相做個交流。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

會議記錄

早餐比較簡單,漢堡和咖啡,蘋果不錯~

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

上午的keynotes開場是Redislabs的CEO宣傳自己公司取得的成就,目前已經進入Forrester Wave象限的leader角色,結束後他邀請作者上來講Redis 5.0規劃的feature。

作者開場先說明了5.0最重要的feature是Redis Stream,在之後的session時間他也會詳細介紹Redis Stream的設計。然後介紹了他最近做的一個“秘密項目”,把之前開發的disque以Redis Module的形式遷移到Redis,這個據作者介紹開發的工作量還是比較大的,但是為了在RedisConf18上給大家驚喜,隻好push自己加班了……。然後作者講了5.0中和cluster相關的改進,最重磅的莫過于作者要給cluster實作一個proxy,私底下交流作者覺得現在smart client在實作時都沒有統一的标準,問題很多,加個proxy以統一,非smart client也可以直接使用了。然後是異步遷移的實作,這個從github上來看,會合入codis的PR實作。最後介紹的是client side caching的新feature,實際上是提供一些key的統計資訊給client,client side決定是否緩存或丢棄key,這個是為了解決熱點key問題的,不過一緻性就要由client自己來做取舍了。關于multi io thread,作者說也是在計劃中。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

最後關于5.0 的釋出時間,目前是還沒有RC1的,按作者計劃是在幾周以後RC1,不過GA時間可能就比較久了,目前作者也無法确定,因為還要寫很多的文檔、unit test和壓測,他說自己在4.0因為心急犯了錯誤,5.0不會再犯了。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

接着Redis labs的人上台重點介紹了Redis module,使用Redis Module,能大大降低部署在AWS上應用的架構複雜性。然後RedisGraph(module)的開發者上台,介紹了他們重新實作了RedisGraph,基于新的GraphBLAS算法,插入性能和查找相鄰節點性能和Neo4j相比有數量級的提升。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

然後是RedisSearch(module)的開發者上台,介紹新的feature,RedisSearch是如何在cluster版本中也實作支援的,主要是使用了一個coordinator節點用來聚合結果,最後還在現場對RedisSearch的性能和AWS的對比做了一個示範,RedisSearch的作者是個柔軟的胖子,昨天我們也有過私下交流,非常的風趣幽默。最後是Redis labs的人上台宣布釋出Redis University,面向開發者進行Redis教學,當然也可以順便宣傳自己的産品,目前是已經上線可以注冊了。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

keynotes的最後邀請了stackoverflow的CEO Joel Spolsky上台來跟大家分享他的創業經曆,實際是一個脫口秀的形式,Joel Spolsky非常的幽默,感覺全場一直在笑,貼個圖吧,畢竟碼農經常用這個網站,膜拜一下,

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

keynotes環節完成之後是session time,我們先聽了Redis作者對Redis stream的介紹,這裡主要介紹了實作Redis Stream的初衷和Redis Stream的主要接口,推薦大家看之前分享的一個ppt,對Redis Stream做了一個詳細說明,和作者今天講的思路一緻,移步:

Redis Stream
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

之後是google cloud的分享。谷歌redis雲服務計劃今年5-6月份上線,目前是一個beta版本,整體功能目前隻有主從和單節點兩種形式,記憶體容量從1-384GB記憶體,沒有對源碼進行深度定制化開發,直接使用VM來建構redis,同時目前不支援叢集,另外有一套類似阿裡雲DMS的監控管理工具,不過據回報需要收費,整體費用比例看很高。但是從現場了解到有很多客戶在gcc(google cloud computing)使用redisLabs提供服務。google同學表示也是看到redis的需求之後希望自己能夠在私有雲提供Redis服務。同時目前也都不支援Redis Module 不支援CRDT,詳細roadmap沒有透露。另外會後和一個中國的google同學溝通回報他們大部分開發同學是從aws過來的。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

因為上午keynotes時間比較長,是以隻有一個session時間,接着就是lunch time了,lunch是餐車的形式,人很多要排挺長隊,餐食還是漢堡……這點體驗不太好:)

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

下午先聽了AWS的分享。AWS ElasticCache的負責人Audi Gutmans分享了AWS在開源項目的貢獻及ElastiCahe對開源Redis的共享,Audi Gutmans首先介紹了他是PHP group的創始人,是PHP steering的委員和license持有人,另外還參與了Apache開源基金會,開源了很多項目,比如Zend Framework,Eclipse PDT,同時還是mysql的貢獻者,在mysql用戶端目前都還有他的代碼。會議開始之前Redis作者坐到了會議的第一排,在第一排認真的進行了聽講。會議開始之後Gutmans首先介紹了aws使用和貢獻的開源項目,接下去講到了aws同學在redis的貢獻。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

其中最大的一個feature是SSL的支援,這個feature是由一個180幾的妹子完成的,使用了aws開源的s2n的SSL庫,整個庫的代碼比openssl簡潔,同時性能提升性能比openssl好20%。會和和SSL的feature的作者交流,整體性能在加密上比沒有開啟降低30%,這個也和阿裡雲實作的版本是一緻的。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

會議結束之後開源看到redis作者對Gutmans還是非常尊敬,主動上去和他攀談并握手緻意。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

在會議結束之後我們在展台找到aws的同學,找到了QUCHEN和他進行了短暫交流,主要确定了下aws模式下使用者如果從主從變成叢集是否需要更改使用者用戶端,這裡他确定使用者需要修改,我們回報這個對使用者不夠友好,會影響使用者業務。另外問了下aws對讀寫分離支援的時候有沒有考慮單寫入放大的或者,比如進行cpu限制或者cpu限制,他們回報隻有VM級别的流量限制,同時對于這種問題需要使用者解決。在資料遷移上主要詢問了如果擴容的時候大key如何遷移的問題,不過他們如果包的大小大于一定數字(256MBU左右),用戶端會斷開連接配接。咨詢詢問了是否使用migrate來進行遷移,QUCHEN直接說不能說了。後面來了aws的産品經理,一個女同學,我們介紹了下阿裡雲在Redis上進行的工作,互相交流了下就完了。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

因為aws分享session時間比較短,是以在同一個房間接着Redis Labs的工程師分享了RoF(Redis on Flash)with 3D XPoint,3D XPoint是一種新型存儲媒體。不過這裡感覺Redis Labs對技術做了很高的保密,詢問性能如何,他們隻回答了very fast,并沒有給出詳細的性能資料,然後目前Redis Labs也還是在内部測試中,沒有相關産品公測。最後一頁PPT是精華,和原來的on 普通SSD相比,on 3D XPoint之後,他們的架構也有很大的改變,基于3D XPoint的儲存設備是直接map到虛拟位址空間中的,然後Redis Labs重新實作了引擎部分,原來是基于RocksDB的,現在是自己寫的一個LMDB,用于資料的換入換出,也取消了多io線程的設計。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

接下來的session和業務相關多一點,首先是“auto-scaling redis caches”,這個主要講的是如何根據業務運作的latency和命中率,動态的調整cache的大小(基于Redis)來擷取目标的latency,同時盡量降低cache的成本,主要是提到了一個cache model的概念,業務latency的下降并不是随着cache size的提高而線性下降的,可能會在某段cache size範圍内,latency是完全不變的,但是過了某個點,latency會出現陡變。

RedisConf2018記錄--Day 1 sessions會議議程會議記錄

我們聽的最後一個session是lyft分享的關于Redis大規模使用的經驗(自運維)。Lyft是一個打車軟體,目前大約有2000+ instance。不過Lyft使用Redis是一個純粹做cache的場景,遇到的問題相對簡單。他們不開AOF和RDB,也沒有使用Replication。最早他們使用的是twemproxy,這個自建過Redis的同學可能都知道,twemproxy是Twitter很早開源的一個Redis叢集代理,現在轉為閉源,開源部分也不維護了。是以Lyft就轉而使用envoy,envoy目前google,apple,Netflix,騰訊等都有在用,更新也很頻繁,github上看star 4000+,長期來看比較靠譜。lyft使用的路由算法是一緻性hash,這個倒也符合cache場景的用法。lyft自己寫了一些比較好的運維工具,redis-look,已經開源。最後因為Lyft的服務都是跑在aws上的,他們分享了一下spectre漏洞對他們的影響,大約瞬時25%+的性能,他們的做法就是把ec2規格從C4更新到C5解決問題,有錢任性~

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

session聽完之後,會有一個meetup的時間段,供大家會後交流,有冰好的beer,這點還是不錯的。我們主要和aws elasticache的工程師和産品經理做了交流。同時還遇到了redis-rdb-tools的作者,他看到我們一直在aws展台交流,就主動把我們叫過去了:),redis-rdb-tools确實是個很不錯的工具,我們在平時工單處理過程中也會推薦客戶使用。開發redis-rdb-tools的哥們是一個印度人,他又做了一個專門用來優化Redis記憶體使用的工具,看宣傳頁是根據你的資料結構使用情況,來給你提供優化記憶體使用的建議,比如使用hash時,拆分為小hash,不要用大value等等這樣的政策。我們給他推薦了阿裡雲的雲市場,一個專門的第三方工具市場,redis-rdb-tools在github上有2000+ star,redis也在國内比較流行,從這兩點來看,應該能給這位印度哥們帶來不錯的商機~

RedisConf2018記錄--Day 1 sessions會議議程會議記錄
RedisConf2018記錄--Day 1 sessions會議議程會議記錄

最後放一張圖鎮樓,o( ̄︶ ̄)o

RedisConf2018記錄--Day 1 sessions會議議程會議記錄