...
1timeline mixer: "" {
2 explanation: |md
3 ## **Timeline mixer**
4 - Inject ads, who-to-follow, onboarding
5 - Conversation module
6 - Cursoring,pagination
7 - Tweat deduplication
8 - Served data logging
9 |
10}
11People discovery: "People discovery \nservice"
12admixer: Ad mixer {
13 style.fill: "#c1a2f3"
14}
15
16onboarding service: "Onboarding \nservice"
17timeline mixer -> People discovery
18timeline mixer -> onboarding service
19timeline mixer -> admixer
20container0: "" {
21 graphql
22 comment
23 tlsapi
24}
25container0.graphql: GraphQL\nFederated Strato Column {
26 shape: image
27 icon: https://upload.wikimedia.org/wikipedia/commons/thumb/1/17/GraphQL_Logo.svg/1200px-GraphQL_Logo.svg.png
28}
29container0.comment: |md
30 ## Tweet/user content hydration, visibility filtering
31|
32container0.tlsapi: TLS-API (being deprecated)
33container0.graphql -> timeline mixer
34timeline mixer <- container0.tlsapi
35twitter fe: "Twitter Frontend " {
36 icon: https://icons.terrastruct.com/social/013-twitter-1.svg
37 shape: image
38}
39twitter fe -> container0.graphql: iPhone web
40twitter fe -> container0.tlsapi: HTTP Android
41web: Web {
42 icon: https://icons.terrastruct.com/azure/Web%20Service%20Color/App%20Service%20Domains.svg
43 shape: image
44}
45
46Iphone: {
47 icon: 'https://ss7.vzw.com/is/image/VerizonWireless/apple-iphone-12-64gb-purple-53017-mjn13ll-a?$device-lg$'
48 shape: image
49}
50Android: {
51 icon: https://cdn4.iconfinder.com/data/icons/smart-phones-technologies/512/android-phone.png
52 shape: image
53}
54
55web -> twitter fe
56timeline scorer: "Timeline\nScorer" {
57 style.fill: "#ffdef1"
58}
59home ranker: Home Ranker
60
61timeline service: Timeline Service
62timeline mixer -> timeline scorer: Thrift RPC
63timeline mixer -> home ranker: {
64 style.stroke-dash: 4
65 style.stroke: "#000E3D"
66}
67timeline mixer -> timeline service
68home mixer: Home mixer {
69 # style.fill: "#c1a2f3"
70}
71container0.graphql -> home mixer: {
72 style.stroke-dash: 4
73 style.stroke: "#000E3D"
74}
75home mixer -> timeline scorer
76home mixer -> home ranker: {
77 style.stroke-dash: 4
78 style.stroke: "#000E3D"
79}
80home mixer -> timeline service
81manhattan 2: Manhattan
82gizmoduck: Gizmoduck
83socialgraph: Social graph
84tweetypie: Tweety Pie
85home mixer -> manhattan 2
86home mixer -> gizmoduck
87home mixer -> socialgraph
88home mixer -> tweetypie
89Iphone -> twitter fe
90Android -> twitter fe
91prediction service2: Prediction Service {
92 shape: image
93 icon: https://cdn-icons-png.flaticon.com/512/6461/6461819.png
94}
95home scorer: Home Scorer {
96 style.fill: "#ffdef1"
97}
98manhattan: Manhattan
99memcache: Memcache {
100 icon: https://d1q6f0aelx0por.cloudfront.net/product-logos/de041504-0ddb-43f6-b89e-fe04403cca8d-memcached.png
101}
102
103fetch: Fetch {
104 style.multiple: true
105 shape: step
106}
107
108feature: Feature {
109 style.multiple: true
110 shape: step
111}
112scoring: Scoring {
113 style.multiple: true
114 shape: step
115}
116fetch -> feature
117feature -> scoring
118
119prediction service: Prediction Service {
120 shape: image
121 icon: https://cdn-icons-png.flaticon.com/512/6461/6461819.png
122}
123scoring -> prediction service
124fetch -> container2.crmixer
125
126home scorer -> manhattan: ""
127
128home scorer -> memcache: ""
129home scorer -> prediction service2
130home ranker -> home scorer
131home ranker -> container2.crmixer: Candidate Fetch
132container2: "" {
133 style.stroke: "#000E3D"
134 style.fill: "#ffffff"
135 crmixer: CrMixer {
136 style.fill: "#F7F8FE"
137 }
138 earlybird: EarlyBird
139 utag: Utag
140 space: Space
141 communities: Communities
142}
143etc: ...etc
144
145home scorer -> etc: Feature Hydration
146
147feature -> manhattan
148feature -> memcache
149feature -> etc: Candidate sources
View as plain text