1. Please introduce yourself briefly
Many people think my name is Yu Yu , It’s actually 2012 Wechat name used when using wechat in , Later, when I joined Ali, it was also used as a nickname , Now it has become my common name .
For 11 years, I have been in the front line of service infrastructure research and development , The work is extensive , cover RPC、NoSQL Storage 、 Real time monitoring alarm 、 Instant messaging 、 Message push and so on . The research content is also quite extensive ,2018 Year to 2019 In Google Internal search RocksDB, Personal technology blogs have been first page, I’m probably the earliest in China gogo protobuf and pulsar Researchers and advocates .
The starting language is C/C++,2013 In chinaunix I’ve come into contact with Go Language , follow go The official blog begins to learn , So in Go In terms of language, I come from the wild road , No one has ever brought me . I love open source , from 2015 Years for Redis Contribution code starts ,2015 Annual use C++11 restructure Muduo,2016 Annual construction dubbogo,2018 Annual contact Pika. At that time, besides giving pika Repair bug, The main building blocks are Pika and Redis Data broker between PikaPort,PikaPort Successively in 360、 Sina 、 affectionately 、 Happiness for all 、 Shun Feng 、 Well quickly 、 Tal and other companies put into use , Until this year, many Sina 、 Good future and Kwai Fu companies. DBA And because of this tool to communicate with me .
At present, the main energy of spare time is dubbogo Community driven dubbogo project . In my spare time , except dubbogo Community , We also have technical exchanges with practitioners in the instant messaging circle ,IM I have seven or eight years of experience in actual combat projects .
2. Talk about the projects you’ve been working on in the last year , What is its technical value ？ What is the development of its industry ？ You are responsible for the technical highlights and challenges of the project ？
The individual from 2018 In the second half of the year, we started to build dubbogo Community , Its main open source projects are, of course https://github.com/apache/dubbo-go.
The technical value of this project , For me personally , It’s the key for me to get through my instant messaging technology system , I personally think technology is by analogy , Microservice governance technology and MQ Compared with technology , Only one piece of storage technology is missing , Everything else is the same . Its own technical value, not to mention , I think it’s Dubbo The cornerstone of the era of cloud native technology .
In terms of its industry development ,dubbogo At present, the development is very good , Currently registered users are 35 individual , There are actually more , The industry covers e-mall 、 Instant messaging 、 Transportation 、 game 、 Third party payment 、 Courier 、 tourism 、 Car networking 、IoT、 Health care 、 Cloud platform 、 Video website 、 Digital currency 、 Emotional communication APP、 Children’s education 、 Educational Electronics 、 Marketing training 、 Tax affairs 、 Car trade 、 Video chat 、 Document office and other aspects , See https://github.com/apache/dubbo-go/issues/2 .
dubbogo The community has contributors 100 Many people ,apache dubbo committer 23 people ,apache dubbo PMC 5 people . Community infrastructure projects are in https://github.com/dubbogo, After hatching, donate to https://github.com/apache, It has been given to apache The organization contributed 5 individual project . The overall project 【 contain getty\gost\hessian2\triple\v3router etc. 】 The code has 17 There are so many lines , Many of the codes are ignored by other domestic projects “ reference ” In the past .
dubbogo First of all dubbo Of go Language implementation , The first point is to be fully compatible dubbo.dubbo The underlying network library is netty, Its native serialization protocol library is hessian2,2016 year 4 We started building dubbogo The first thing I have to do is Use go The language implements a program similar to netty Network library of getty https://github.com/apache/dubbo-getty , The second is building hessian2 Agreed go Language version https://github.com/apache/dubbo-go-hessian2 , All in all dubbogo It’s all self-contained from the bottom to the top . at present dubbogo Except for aligning all dubbo edition , And dubbo Do many things at once .
dubbogo There’s a second mission ： Make full use of as the first language in the cloud native era —Go The advantages of language , Expand dubbo The ability of .dubbogo It was the first to realize k8s Microservice governance as a registry , current dubbo Of k8s The registry solution was born out of this .
dubbogo The third mission is connectivity .dubbogo Its purpose is “bridging the gap between Java and Go”, Except for dubbo Keep compatible , At present, it has also been connected with gRPC and compatible REST The framework of the agreement is as follows Spring Cloud Alibaba Get through .
The main focus of the community in the near future is to build dubbogo The ecological matrix , The key is the latest move to apache Gateway project for https://github.com/apache/dubbo-go-pixiu, It will gradually open up dubbo/SpringCloud/gRPC/RocketMQ, Preliminary verification of personal vision of cloud’s original future form https://mp.weixin.qq.com/s/EWR6xwbf53XHZ8O3m2bdVA .
3. In the process of technical solution implementation , What issues do you usually focus on ？ How to ensure the smooth implementation of the technical scheme ？
The implementation of technical solutions , The individual is primarily concerned with its value , Consider the benefits from the technical value and customer value 、 Human resource costs 、 Technology risk and so on . Once the goal is set , The next step is to dismantle the target 、 Looking for reliable engineers and real-time tracking of project progress , Once faced with project schedule or unexpected technical risks , First of all, timely exposure to stakeholders , Ensure that the problem can converge in a controllable time range .
If it doesn’t converge , In large companies, we need to consider raising the problem , Manage up , Use all kinds of resources to push problems to be solved . In small and medium-sized companies , With current resources 【 Including human resources 】 There is no guarantee that the problem will converge , What we can do is stop loss in time .
4. Architects in the recent wave of technological change , What are the challenges that need to be faced ？ How to deal with these challenges ？
I have been working in the current company for more than two years , I’ve always been an engineer on the front line , I don’t feel qualified to talk about this topic as an architect .
But when I used to work in a company title It’s the architect , If the scope of the topic is not limited to “ The recent wave of technological change ” Inside , I can talk about the challenges and the ways to deal with them . The challenge then was that the company’s infrastructure capacity was zero , At that time, my colleagues’ first reaction to the online failure was to restart all the services most likely to have problems , If you can’t solve the problem, roll back the versions of all the services on the relevant links and restart them . Personal response is based on personal work experience , Learn from the mature technical solutions in previous work , With a few colleagues in my group, the company’s lightweight real-time monitoring system 、 Log collection system 、 Instant messaging systems and KV Storage systems are all implemented from scratch .
It’s true that contributions are not made without merit , I’ve been moving bricks with all kinds of masters for five years , At the same time, we also actively participate in various open source projects , I’ve eaten some pork and seen the walking posture of many pigs , Accumulated experience in the implementation process of these systems at that time well ensured the rapid and efficient implementation of these systems .
5. In the process of technology selection , Some of the questions you often think about are ？
In my humble opinion , Technical personnel must not only look at the problem from the technical point of view when they make technology selection , Be sure to look at things from the perspective of value or the boss . From the perspective of the boss , I think there are three points ： Fast implementation 、 The system is stable and the cost is the lowest .
Fast implementation , Is in the relevant technology can solve the problem in the shortest time , Achieve business goals . System stability , First of all, it is necessary to ensure the stable and reliable operation of the system , Second, we need to ensure that the framework lasts for three years 【 At least a year 】 You don’t have to go over and over and over again , Necessary patches are acceptable . On the premise of achieving the first two points , Let human resources as much as possible 、 Machine cost 、 Keep maintenance costs and other costs to a minimum , Let the business make money , At least don’t lose money .
6. Which project or technology do you prefer in cloud native field , Why? ？
I’m optimistic about specific projects in the cloud native field dubbogo, Because I’ve been on the project for the sixth year , The original intention and enthusiasm are still there . Volunteer to join the open source community , I still hope to be prepared for a long-term war and a long-term dedication , Otherwise, different ways will not conspire with each other .
In terms of cloud native technology , This topic is too broad , Little personal accumulation , It will take a long time to learn and accumulate , I’m not qualified to comment . The only thing I can say is , Personal premonition: cross cloud based on open source service platform 【 Such as ali cloud 、 Tencent cloud 、 Hua Wei Yun 】 many k8s Cluster management is a good direction , Such as cross vendor service deployment . for example ,https://github.com/gardener This project ,sap and pingcap All in use , It’s a k8s Multi cluster managers , Support aliyun/aws/openstack etc. , At the same time, a physical machine can be divided into multiple k8s Cluster management , There are command lines and web Interface , This is Toto’s future hybrid cloud many k8s An example of clustering , have access to gardener Do multi cloud platform management , And then rely on dapr Or something like that 【 Such as ant recently open source Layotto as well as In the future dubbo-go-pixiu】 Do public service deployment . All in all , I feel that there is a lot of market space in the future , There are so many places to imagine .
8. Please introduce you to giac The topic of the speech or the content of the topic
The content of my speech is mainly around dubbogo 3.0 an . In addition to what you already know through open channels dubbogo 3.0 Application registration service discovery 、 New routing scheme and new registration communication protocol , We will also focus on the official response to dubbogo 3.0 Some plans for the future ：dubbogo The capacity and resource consumption evaluation of micro service platform in the cloud native era 、 Adaptive current limiting and adaptive load balancing 、Proxyless Service Mesh etc. .
Of course , I’ll add a few more dubbogo The landing form inside Ali . All in all , Let one have 14 The 20-year-old framework of micro service governance keeps pace with the times in the cloud era and becomes a micro service governance platform , It’s the best way to pay homage to the trust of the pioneers and current users , It also sets a benchmark of continuous evolution and long-term maintenance for other domestic open source projects .
9. Yes, this time giac Any message
This is a dubbogo The second time the community sent someone to attend giac The meeting is over , hope dubbogo and giac They are developing better and better in their respective fields . I hope to pass giac This platform , Let more people know dubbogo This powerful microservice infrastructure platform , Promote the progress of domestic micro service technology , Create more social value and technological dividend .
dubbogo Community and dubbogo Project with . Welcome to apache/dubbo-go Students interested in the project are welcome to join the exchange group 【 Or search the pin group number 31363295】：