SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Dubbo and Weidian's Practice on Microservice
Architecture
Who's Weidian
The stages of Weidian
Challenges & Solutions
About the future
CONTENTS
Speaker:Xin Wang
Who's Weidian ?
Scale
70 million
Security
600 million /
day
Cost
Tens of
millions / year
Efficienc
y
600+
• 5.6 million attacks /
days;
• CC、SQLInjection、
XSS、CSRF ...
• 600 million + daily
visit of crawlers...
• 70 million stores, 1 billion
goods; 9P data
• Payment, search,
recommendation, risk
control, IM, transaction,
open platform,
advertising, supply chain...
• In IDC,
2016/2017, our
total
expenditure is
tens of millions
of RMB.
• 600+ RD work together
• 60 times a day on the
line, 400+ release
(including test / Pre
deployment
environment)
Weidian is a app of China to help sellers open their shop on mobile phones. Anyone can
open their own shop through mobile phone numbers.
Dubbo and Weidian's Practice on Microservice
Architecture
Who's Weidian
The stages of Weidian
Challenges & Solutions
About the future
CONTENTS
Speaker:Xin Wang
Monolithic application stage
Shop league
App server Shop payment
Promotion
SELL Search Recommend DB
DB
WEB OPEN-API
Some related apps
DB
API API API
DB
DB
l PHP
l Nginx
l Mysql
l Redis
Technology stack
l Testing is difficult: requires all
functional regression
l Scalability: weak
l Edge BUG, such as dead loop, OOM,
and so on, drag down the entire site.
Technology stack
Multi module stage
shop
item
refundorder
promotion
trade
l PHP
l Nginx
l Mysql
l Redis
Problems encountered
l Code splitting, independent deployment, process isolation,
technology stack has not changed much.
l Problems:
• It is difficult to upgrade,because need to push the
whole site
• The pressure of the database connection pool is great
Technology stack
Servitization stage
l Service group appears, order center:
item center, trading center, etc.
l Technology stack:
• Dubbo
• VTrace
• Vdds
l Technology stack:
• Problem tracking is difficult
• Configuration is troublesome, ops
have heavy work
• Difficulty in testing: interference with
each other
Creat
order
Trade
Item center
item
SKU stock
Order
Order
query
Report
Task
Promotion
management
promotion
refund
complain
refund
Dubbo and Weidian's Practice on Microservice
Architecture
Who's Weidian
The stages of Weidian
Challenges & Solutions
About the future
CONTENTS
Speaker:Xin Wang
Servitization-Module split
Complex business relations
How to split the module?
• Consider the business first VS
Consider the data table first?
• Should the number of lines of code
be used as the basis for
subcontracting?
• How to balance the pursuit of design,
engineering, and operation?
Servitization-Module split
u Microservice:
• System consisting of distributed services
• Organize organizations by business rather
than technology
• Automated operation and maintenance
• Rapid evolution of service iteration
u DDD Domain-driven Design
• Solve core issues in the domain by building domain models
• Implementation of code driven by domain models
• Technical architecture design or data storage, etc. are on the
periphery of the domain model
• DDD vs SSI(spring+hibernate): congestion model / blood loss
model
Split principle:
• DDD Business-driven
• Balance of design,
engineering, operations,
etc.
• Progressive evolution
Servitization-Automated deployment
Services, the configuration workload is getting bigger, how to ensure
that no mistakes are made?
How to ensure that the test system is independent according to
business needs?
How to implement the CI/CD pipeline system?
How do you fully squeeze the usage of the infrastructure
(CPU/memory/disk/network)?
Ops and
deployment
problem
Servitization-Automated deployment
l OS version
•Centos7.2
l Virtualization
• KVM
• Docker
l Network mode
• Bridge
ü Pipework
ü Libvirt
• Configuring unique IP, and
interworking all over the network
infrastructure
Virtualization Manage
OPS
cpu/memory/disk/network
Servitization-Call link tracking
l Dapper: rpc tracks the basis of the paper
l Rpc framework generation, no business intrusion
l Trace Id: initial call to generate uuid string
l Each rpc call generates a span while recording the parent span
l Full support for other middleware:tomcat/dubbo/vdianMQ/vdds/redisClient
Consol
e
API
ES
Hbase/MR
Kafka/flink
qua
ke
http proxy …..
kdserv
er
Buy/car/
……
Dist
ribu
tion
…..
shop
Weidia
n 2.0
Buyer
Sea
rch
…..
VDDS
vdian
MQ
redis
htt
p
…..
Servitization-Application service monitoring, alarm
Calculation rule
configuration file
Kakfa
stream
Time window
Summary
filter Persistence
Storm calculation engine
Regular update
Alarm rule
configuration
file
Timing script
calculation to
determine whether
the alarm condition is
met
HBAS
E
write
SMS
alarm
Alarm center
1-
Read
alarm
config
2-
Read
ing
data
3-
output
l Application service monitoring,
alarm
• Vmonitor agent collects rpc trace
logs
• Alarm rule configuration (traffic
exception/service exception
super threshold...)
l Solved problems:
• Abnormal traffic warning
• Error warning
Servitization-Application fuse, limit flow
Request processing
thread pool
(Dubbo,Tomcat)
Business
logic
Service
governance
filter
Dubbo Consumer Filter Chain
…
Core: Hystrix
Service governance client
Service governance
platform
Request processing
thread pool
(Dubbo,Tomcat)
Service
governance
filter
…
Business
logic
Dubbo Provider Filter Chain
Fuse,downgrade,isolate
Limit flow
l Solved problems:
• Edge service dragged core service at
high traffic
• Limit when large flow
Servitization-Business challenge: double alive
l Requirement: Computer room
migration(Double alive in the same city)
l Strategy:
• New and old machine room share a Dubbo root root
node
• The service of the new computer room is registered
under the same service directory. In the URL, the
belongTo attribute needs to be added.
• If all the local services are down, the router will be
routed to the remote execution.
l Changes:
• The Dubbo router policy needs to be re
implementeddubbo
• The timeout retry strategy needs to be
reimplemented
ThankstoDubbo's
supportforthebusiness
Summary: using Dubbo to do service management,
we should make efforts in all around Dubbo
Servitization-Summary
Dubbo and Weidian's Practice on Microservice
Architecture
Who's Weidian
The stages of Weidian
Challenges & Solutions
About the future
CONTENTS
Speaker:Xin Wang
About the future-Giving back to the community
DUBBO
How to replace the dubbo
version of the private
maintenance with the latest
dubbo version?
• Serialization compatibility (in the rolling upgrade,
the business is guaranteed to be ordered)
• After graduating from the apache community, the
package will be changed from com.alibaba.dubbo to
org.apache.dubbo and will provide an extension.
Private dubbo version,
how to integrate with the
official version of dubbo?
• Please submit your private extension to
the dubbo communitydubbo
• Dubbo official will make the best
practices in the following areas:
rpc tracking, current-limiting fuse,
multi-language support, etc.
About the future-Multi-language support
l Method:
Use a effective language to develop a agent, other than
JAVA language can interact through the agent process
and registry. (Service mesh sidecar mode)
Benefit :
No need to implement a dubbo client in every language
(in multi-language communication, thrift, gRPC and other
serialization frameworks based on tcp protocol will
perform better than http1+json) serialization
Problem:
A node has been added: when the agent process is
abnormal or hangs, the business process of the agent
service has to remove the traffic.
Service Mesh’s
Control Plane
Service A
Business
Logic
SideCar
Agent
Service B
Business
Logic
SideCar
Agent
Registry
About the future- Silver Bullet or not,When dubbo
meet Service mesh
1. For the use of technology, it depends on the stage of business development. 2. For
the new technology ecology: Please use some of his ideas, such as sidecar, such as
this multi-language client practice Service Mesh’s
Control Plane
Service A
Business
Logic
SideCar
Circuit
Breaker
Service
Discovery
Flow
Control
Networking
Stack
Service B
Business
Logic
SideCar
Circuit
Breaker
Service
Discovery
Flow
Control
Networking
Stack
View:
About the future- Dubbo+Reactive programming
Principle of Finagle:
1, Service as a function;
2, function is in line with the functional
programming paradigm: transparent
reference, no side effects, can be combined,
can be transformed, etc.;
3, the return value of the function is unified
Fututre [Xxx] / Try [Xxx] / Option [Xxx]. Try
and so is a Monad Tip: Refer to the basic
concept of Monad in functional
programming;
4. Based on the above three points, the
whole system can be constructed like
building blocks;
Reactive programming:
Microservices need to consider their
responsiveness, ie
1. Resilience (in response to failure);
2, scalability (response under different load
conditions)
3, message-driven (loosely coupled, through
asynchronous message isolation) and
responsive programming requirements:
message-driven, designed for failure,
asynchronous. Therefore, responsive
programming is required;
Contact us
About author:
• Github: https://github.com/lovepoem
• twitter: wangxinvictor
Community:
• dubbo.apache.org
• dubbo.io
Repos:
• github.com/apache/incubator-dubbo
• github.com/dubbo
Email list
• dev@dubbo.apache.org

Weitere ähnliche Inhalte

Ähnlich wie Dubbo and Weidian's practice on micro-service architecture

Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Rick Hightower
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the CloudBen Saunders
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science PlatformDecision Science Community
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumRick Hightower
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .NetRichard Banks
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?NGINX, Inc.
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitAmazon Web Services
 
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAConfluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAconfluent
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Min Fang
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Arnaud Bouchez
 
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAPCompuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAPCompuware ASEAN
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxPINGXIONG3
 
The Yin and Yang of Software
The Yin and Yang of SoftwareThe Yin and Yang of Software
The Yin and Yang of Softwareelliando dias
 
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...Daniel Bryant
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Continuent
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Katherine Golovinova
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservicesAnil Allewar
 
Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Peter Lawrey
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cachecornelia davis
 

Ähnlich wie Dubbo and Weidian's practice on micro-service architecture (20)

Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)Service Mesh CTO Forum (Draft 3)
Service Mesh CTO Forum (Draft 3)
 
Contino Webinar - Migrating your Trading Workloads to the Cloud
Contino Webinar -  Migrating your Trading Workloads to the CloudContino Webinar -  Migrating your Trading Workloads to the Cloud
Contino Webinar - Migrating your Trading Workloads to the Cloud
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Service Mesh Talk for CTO Forum
Service Mesh Talk for CTO ForumService Mesh Talk for CTO Forum
Service Mesh Talk for CTO Forum
 
Architecting Microservices in .Net
Architecting Microservices in .NetArchitecting Microservices in .Net
Architecting Microservices in .Net
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS SummitDiscover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
Discover MongoDB Atlas and MongoDB Stitch - DEM02-S - Mexico City AWS Summit
 
Confluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVAConfluent Partner Tech Talk with SVA
Confluent Partner Tech Talk with SVA
 
Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013Service Virtualization - Next Gen Testing Conference Singapore 2013
Service Virtualization - Next Gen Testing Conference Singapore 2013
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAPCompuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
Compuware ASEAN APM User Conference 2013 - Understanding User Performance of SAP
 
Do I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptxDo I Need A Service Mesh.pptx
Do I Need A Service Mesh.pptx
 
The Yin and Yang of Software
The Yin and Yang of SoftwareThe Yin and Yang of Software
The Yin and Yang of Software
 
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...
JAX London 2019 "Cloud Native Communication: Using an API Gateway and Service...
 
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
Marketing Automation at Scale: How Marketo Solved Key Data Management Challen...
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016Microservices for performance - GOTO Chicago 2016
Microservices for performance - GOTO Chicago 2016
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 

Kürzlich hochgeladen

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdfKamal Acharya
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxSCMS School of Architecture
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxchumtiyababu
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Call Girls Mumbai
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 

Kürzlich hochgeladen (20)

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Online electricity billing project report..pdf
Online electricity billing project report..pdfOnline electricity billing project report..pdf
Online electricity billing project report..pdf
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptxS1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
S1S2 B.Arch MGU - HOA1&2 Module 3 -Temple Architecture of Kerala.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Verification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptxVerification of thevenin's theorem for BEEE Lab (1).pptx
Verification of thevenin's theorem for BEEE Lab (1).pptx
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 

Dubbo and Weidian's practice on micro-service architecture

  • 1. Dubbo and Weidian's Practice on Microservice Architecture Who's Weidian The stages of Weidian Challenges & Solutions About the future CONTENTS Speaker:Xin Wang
  • 2. Who's Weidian ? Scale 70 million Security 600 million / day Cost Tens of millions / year Efficienc y 600+ • 5.6 million attacks / days; • CC、SQLInjection、 XSS、CSRF ... • 600 million + daily visit of crawlers... • 70 million stores, 1 billion goods; 9P data • Payment, search, recommendation, risk control, IM, transaction, open platform, advertising, supply chain... • In IDC, 2016/2017, our total expenditure is tens of millions of RMB. • 600+ RD work together • 60 times a day on the line, 400+ release (including test / Pre deployment environment) Weidian is a app of China to help sellers open their shop on mobile phones. Anyone can open their own shop through mobile phone numbers.
  • 3. Dubbo and Weidian's Practice on Microservice Architecture Who's Weidian The stages of Weidian Challenges & Solutions About the future CONTENTS Speaker:Xin Wang
  • 4. Monolithic application stage Shop league App server Shop payment Promotion SELL Search Recommend DB DB WEB OPEN-API Some related apps DB API API API DB DB l PHP l Nginx l Mysql l Redis Technology stack l Testing is difficult: requires all functional regression l Scalability: weak l Edge BUG, such as dead loop, OOM, and so on, drag down the entire site. Technology stack
  • 5. Multi module stage shop item refundorder promotion trade l PHP l Nginx l Mysql l Redis Problems encountered l Code splitting, independent deployment, process isolation, technology stack has not changed much. l Problems: • It is difficult to upgrade,because need to push the whole site • The pressure of the database connection pool is great Technology stack
  • 6. Servitization stage l Service group appears, order center: item center, trading center, etc. l Technology stack: • Dubbo • VTrace • Vdds l Technology stack: • Problem tracking is difficult • Configuration is troublesome, ops have heavy work • Difficulty in testing: interference with each other Creat order Trade Item center item SKU stock Order Order query Report Task Promotion management promotion refund complain refund
  • 7. Dubbo and Weidian's Practice on Microservice Architecture Who's Weidian The stages of Weidian Challenges & Solutions About the future CONTENTS Speaker:Xin Wang
  • 8. Servitization-Module split Complex business relations How to split the module? • Consider the business first VS Consider the data table first? • Should the number of lines of code be used as the basis for subcontracting? • How to balance the pursuit of design, engineering, and operation?
  • 9. Servitization-Module split u Microservice: • System consisting of distributed services • Organize organizations by business rather than technology • Automated operation and maintenance • Rapid evolution of service iteration u DDD Domain-driven Design • Solve core issues in the domain by building domain models • Implementation of code driven by domain models • Technical architecture design or data storage, etc. are on the periphery of the domain model • DDD vs SSI(spring+hibernate): congestion model / blood loss model Split principle: • DDD Business-driven • Balance of design, engineering, operations, etc. • Progressive evolution
  • 10. Servitization-Automated deployment Services, the configuration workload is getting bigger, how to ensure that no mistakes are made? How to ensure that the test system is independent according to business needs? How to implement the CI/CD pipeline system? How do you fully squeeze the usage of the infrastructure (CPU/memory/disk/network)? Ops and deployment problem
  • 11. Servitization-Automated deployment l OS version •Centos7.2 l Virtualization • KVM • Docker l Network mode • Bridge ü Pipework ü Libvirt • Configuring unique IP, and interworking all over the network infrastructure Virtualization Manage OPS cpu/memory/disk/network
  • 12. Servitization-Call link tracking l Dapper: rpc tracks the basis of the paper l Rpc framework generation, no business intrusion l Trace Id: initial call to generate uuid string l Each rpc call generates a span while recording the parent span l Full support for other middleware:tomcat/dubbo/vdianMQ/vdds/redisClient Consol e API ES Hbase/MR Kafka/flink qua ke http proxy ….. kdserv er Buy/car/ …… Dist ribu tion ….. shop Weidia n 2.0 Buyer Sea rch ….. VDDS vdian MQ redis htt p …..
  • 13. Servitization-Application service monitoring, alarm Calculation rule configuration file Kakfa stream Time window Summary filter Persistence Storm calculation engine Regular update Alarm rule configuration file Timing script calculation to determine whether the alarm condition is met HBAS E write SMS alarm Alarm center 1- Read alarm config 2- Read ing data 3- output l Application service monitoring, alarm • Vmonitor agent collects rpc trace logs • Alarm rule configuration (traffic exception/service exception super threshold...) l Solved problems: • Abnormal traffic warning • Error warning
  • 14. Servitization-Application fuse, limit flow Request processing thread pool (Dubbo,Tomcat) Business logic Service governance filter Dubbo Consumer Filter Chain … Core: Hystrix Service governance client Service governance platform Request processing thread pool (Dubbo,Tomcat) Service governance filter … Business logic Dubbo Provider Filter Chain Fuse,downgrade,isolate Limit flow l Solved problems: • Edge service dragged core service at high traffic • Limit when large flow
  • 15. Servitization-Business challenge: double alive l Requirement: Computer room migration(Double alive in the same city) l Strategy: • New and old machine room share a Dubbo root root node • The service of the new computer room is registered under the same service directory. In the URL, the belongTo attribute needs to be added. • If all the local services are down, the router will be routed to the remote execution. l Changes: • The Dubbo router policy needs to be re implementeddubbo • The timeout retry strategy needs to be reimplemented
  • 16. ThankstoDubbo's supportforthebusiness Summary: using Dubbo to do service management, we should make efforts in all around Dubbo Servitization-Summary
  • 17. Dubbo and Weidian's Practice on Microservice Architecture Who's Weidian The stages of Weidian Challenges & Solutions About the future CONTENTS Speaker:Xin Wang
  • 18. About the future-Giving back to the community DUBBO How to replace the dubbo version of the private maintenance with the latest dubbo version? • Serialization compatibility (in the rolling upgrade, the business is guaranteed to be ordered) • After graduating from the apache community, the package will be changed from com.alibaba.dubbo to org.apache.dubbo and will provide an extension. Private dubbo version, how to integrate with the official version of dubbo? • Please submit your private extension to the dubbo communitydubbo • Dubbo official will make the best practices in the following areas: rpc tracking, current-limiting fuse, multi-language support, etc.
  • 19. About the future-Multi-language support l Method: Use a effective language to develop a agent, other than JAVA language can interact through the agent process and registry. (Service mesh sidecar mode) Benefit : No need to implement a dubbo client in every language (in multi-language communication, thrift, gRPC and other serialization frameworks based on tcp protocol will perform better than http1+json) serialization Problem: A node has been added: when the agent process is abnormal or hangs, the business process of the agent service has to remove the traffic. Service Mesh’s Control Plane Service A Business Logic SideCar Agent Service B Business Logic SideCar Agent Registry
  • 20. About the future- Silver Bullet or not,When dubbo meet Service mesh 1. For the use of technology, it depends on the stage of business development. 2. For the new technology ecology: Please use some of his ideas, such as sidecar, such as this multi-language client practice Service Mesh’s Control Plane Service A Business Logic SideCar Circuit Breaker Service Discovery Flow Control Networking Stack Service B Business Logic SideCar Circuit Breaker Service Discovery Flow Control Networking Stack View:
  • 21. About the future- Dubbo+Reactive programming Principle of Finagle: 1, Service as a function; 2, function is in line with the functional programming paradigm: transparent reference, no side effects, can be combined, can be transformed, etc.; 3, the return value of the function is unified Fututre [Xxx] / Try [Xxx] / Option [Xxx]. Try and so is a Monad Tip: Refer to the basic concept of Monad in functional programming; 4. Based on the above three points, the whole system can be constructed like building blocks; Reactive programming: Microservices need to consider their responsiveness, ie 1. Resilience (in response to failure); 2, scalability (response under different load conditions) 3, message-driven (loosely coupled, through asynchronous message isolation) and responsive programming requirements: message-driven, designed for failure, asynchronous. Therefore, responsive programming is required;
  • 22. Contact us About author: • Github: https://github.com/lovepoem • twitter: wangxinvictor Community: • dubbo.apache.org • dubbo.io Repos: • github.com/apache/incubator-dubbo • github.com/dubbo Email list • dev@dubbo.apache.org