Redian新闻
>
一起来学习系统设计: 设计一个Uber
avatar
一起来学习系统设计: 设计一个Uber# Programming - 葵花宝典
F*7
1
第一次国际转航线,怕父母紧张,找同伴,最好是有经验的飞友。谢谢。
时间上可以配合。
avatar
z*o
2
之前一直听说如果国内汇款一年累计超过10万美刀,需要向irs还是哪里申报,对吧?
这个包括10万吗?另外就是什么时候申报, 收到钱累计够10万就申报,还是等来年报
税时再申报?这个申报会影响当年的报税吗, 是不是会少拿回tax refund?
有知道的朋友帮忙解释一下。 谢谢
avatar
t*3
3
假设你是Uber初创的CTO. 让你来设计Uber. 你怎么来做?
大牛们来讨论讨论。
avatar
M*s
5
查一下 form 3520。
avatar
t*3
6
首先有一个类(table)Driver
里面有Driver的各种信息。 id, name, age, address....
还有一个类(table) User
里面有User的各种信息
还有一个类(table) Transaction,
里面记录一次乘车的起始时间,地点, 终止时间地点, milleage, driver, User,
price 等。
还有一个RequestTaxi类, 有时间, pickup地点, User, destination,以及发送
request给某个Driver或者临近的Driver。
avatar
A*i
7
我打算让父母五月底过来呢,也是从北京到dallas,不过我父母也是第一次出来
avatar
h*a
8
系统设计现在一般不是从OO设计开始的。先从architecture上入手想想需要什么
storage和service.

【在 t*******3 的大作中提到】
: 首先有一个类(table)Driver
: 里面有Driver的各种信息。 id, name, age, address....
: 还有一个类(table) User
: 里面有User的各种信息
: 还有一个类(table) Transaction,
: 里面记录一次乘车的起始时间,地点, 终止时间地点, milleage, driver, User,
: price 等。
: 还有一个RequestTaxi类, 有时间, pickup地点, User, destination,以及发送
: request给某个Driver或者临近的Driver。

avatar
y*u
9
Uber这样的公司需要技术吗?

【在 t*******3 的大作中提到】
: 假设你是Uber初创的CTO. 让你来设计Uber. 你怎么来做?
: 大牛们来讨论讨论。

avatar
t*3
10
从architecture上入手也可以讨论。
如果是作为一个早期的公司,
storage,我会使用mysql, cassandra, S3.
具体哪些数据在哪里, 需要好好想想。
service有什么呢?

【在 h*****a 的大作中提到】
: 系统设计现在一般不是从OO设计开始的。先从architecture上入手想想需要什么
: storage和service.

avatar
t*3
11
我们可以思考一下, 假设让你做这样一个公司, 你怎么做。
不用讨论贬低某个公司,或者抬高某个公司。

【在 y**********u 的大作中提到】
: Uber这样的公司需要技术吗?
avatar
t*3
12
盼请古德霸,二爷,赵策等大牛出来喷喷。
avatar
l*t
13
早期弄两笔记本整租几个lunuxserver就狗跑了。框架是随压力来的。你得先给几个指
标才能开始设计
avatar
p*2
14
我会用mean来做

【在 t*******3 的大作中提到】
: 盼请古德霸,二爷,赵策等大牛出来喷喷。
avatar
y*u
15
mean是什么?
mongo+exresss+angular+node?
您现在是javascript大牛啊

【在 p*****2 的大作中提到】
: 我会用mean来做
avatar
g*g
16
核心应该是个dispatch算法,然后从1M司机,100M用户你打算怎么处理开始考虑。
avatar
p*2
17
我不会js 只会cs

【在 y**********u 的大作中提到】
: mean是什么?
: mongo+exresss+angular+node?
: 您现在是javascript大牛啊

avatar
s*i
18
Uber技术上解决的主要问题是
1. 张三没车,要从A到B,找到差不多恰好从A到B的李四;或
李四要从A到B,找到恰好要从A到B的张三;或者游手好闲的李四,突然想给人搭车泡妞
赚外快;
2. 张三李四为安全起见,费用不直接交手;
3. 张三李四的声望
客户端,基本上都是移动(方便得到 时间,地点,人物)。
大scale的活没干过。设计存在的问题,请大家指点哈。
Infrastructure就在AWS上。别的没用过。
([Database] [computing services]) [Microservices] [Mobile
Clients]
Microservices可以直接连数据库,也可以通过计算服务。
数据库尽量不要什么Stored Procedure,完全没有逻辑最好!逻辑最好也转化成数据,
到时候query一下。
service的返回信息很重要。如果不成功,一定要有客户端能够判断下一步怎么做的信
息。

【在 t*******3 的大作中提到】
: 假设你是Uber初创的CTO. 让你来设计Uber. 你怎么来做?
: 大牛们来讨论讨论。

avatar
s*i
19
这个得按空间排序。离太远的司机没啥意义考虑。应该这方面的理论不少。最终下来,
估计撑死也就几百个司机对几千个客户

【在 g*****g 的大作中提到】
: 核心应该是个dispatch算法,然后从1M司机,100M用户你打算怎么处理开始考虑。
avatar
g*g
20
实时需要处理的人数可能不多,但用户数是很大的。

【在 s*i 的大作中提到】
: 这个得按空间排序。离太远的司机没啥意义考虑。应该这方面的理论不少。最终下来,
: 估计撑死也就几百个司机对几千个客户

avatar
ET
21
lol...

【在 h*****a 的大作中提到】
: 系统设计现在一般不是从OO设计开始的。先从architecture上入手想想需要什么
: storage和service.

avatar
ET
22
还是从50个driver, 200个用户, 一个城市打算起比较现实。

【在 g*****g 的大作中提到】
: 核心应该是个dispatch算法,然后从1M司机,100M用户你打算怎么处理开始考虑。
avatar
f*t
23
re
一开始就需要的几套系统:
mobile:
1. driver用的app,要能接单,能向服务器实时发送GPS坐标
2. user用的app,要能下单(路线用google maps的服务,startup自己做不了的)
backend:
3. 实时查询附近空闲的driver
4. 存储账户和交易记录
5. 信用卡支付接口
起步时一个城市没多少driver和乘客,随便找个EC2跑个postgresql之类的数据库就能
搭起来,backend编程语言就选糙快猛的。
综上所述,要自己建startup,必备技能有写mobile app、快速搭建backend system。
做infra的赶紧往full stack转吧 :)

【在 ET 的大作中提到】
: 还是从50个driver, 200个用户, 一个城市打算起比较现实。
avatar
d*n
24
taxi 要是满地跑这uber是不是就lame 了?
avatar
b*s
25
the 1st workable solution in this thread

【在 f*******t 的大作中提到】
: re
: 一开始就需要的几套系统:
: mobile:
: 1. driver用的app,要能接单,能向服务器实时发送GPS坐标
: 2. user用的app,要能下单(路线用google maps的服务,startup自己做不了的)
: backend:
: 3. 实时查询附近空闲的driver
: 4. 存储账户和交易记录
: 5. 信用卡支付接口
: 起步时一个城市没多少driver和乘客,随便找个EC2跑个postgresql之类的数据库就能

avatar
ET
26
感情现在理解full stack就是全能前后端通吃的。

【在 f*******t 的大作中提到】
: re
: 一开始就需要的几套系统:
: mobile:
: 1. driver用的app,要能接单,能向服务器实时发送GPS坐标
: 2. user用的app,要能下单(路线用google maps的服务,startup自己做不了的)
: backend:
: 3. 实时查询附近空闲的driver
: 4. 存储账户和交易记录
: 5. 信用卡支付接口
: 起步时一个城市没多少driver和乘客,随便找个EC2跑个postgresql之类的数据库就能

avatar
f*t
27
我从快速建立startup产品(mobile+backend)的角度出发。仁兄有何高见?

【在 ET 的大作中提到】
: 感情现在理解full stack就是全能前后端通吃的。
avatar
ET
28
有个哥们写了篇博客文章,说full stack engineer所需要的技能。结果被骂得狗血零
头。
full stack engineer本意不是全能工程师,而更是support engineer的含义更浓一些。
前端不愿做的,后端也不愿意做的。
比如amazon EC2配置。google app 配置。
但似乎大家越来越望文生疑的想成未全能的了,比如这个讨论
http://www.quora.com/What-does-the-term-full-stack-programmer-m

【在 f*******t 的大作中提到】
: 我从快速建立startup产品(mobile+backend)的角度出发。仁兄有何高见?
avatar
b*e
29

据说有部分系统用了node.js 和redis,具体没问

【在 t*******3 的大作中提到】
: 从architecture上入手也可以讨论。
: 如果是作为一个早期的公司,
: storage,我会使用mysql, cassandra, S3.
: 具体哪些数据在哪里, 需要好好想想。
: service有什么呢?

avatar
y*u
30
Full stack的意思就是啥都可以做一点,啥都不精通吧

就能

【在 ET 的大作中提到】
: 感情现在理解full stack就是全能前后端通吃的。
avatar
N*m
31


【在 y**********u 的大作中提到】
: Full stack的意思就是啥都可以做一点,啥都不精通吧
:
: 就能

avatar
g*g
32
这年头系统大了,没有必要前后都精通。full stack其实大部分是UI engineer能写点
简单后端。startup人手少,商业逻辑不算复杂,scalability要求不高,但界面不漂亮
不行。所以喜欢招这种类型的。

【在 y**********u 的大作中提到】
: Full stack的意思就是啥都可以做一点,啥都不精通吧
:
: 就能

avatar
t*3
33
If I want to sit down and write such a system tomorrow, Where should I start?
I am more interested in the OOP design.
avatar
t*3
34
I want to have 4 or 5 people including myself starting to write a similar
system in my garage probably at the end of 2015. We work 55 hours per week.
I really want to get some ideas from your guys.
avatar
t*3
35
We have working experience in java, javascript (plus google map api), jsp,
mysql, hbase, cassandra, spark, ealsticsearch, spring, guice, aws.
tomcat, maven, git, jira, stash etc.
avatar
y*u
36
To make an early version, you need experience in LAMP

【在 t*******3 的大作中提到】
: We have working experience in java, javascript (plus google map api), jsp,
: mysql, hbase, cassandra, spark, ealsticsearch, spring, guice, aws.
: tomcat, maven, git, jira, stash etc.

avatar
p*2
37
上mean吧

【在 t*******3 的大作中提到】
: We have working experience in java, javascript (plus google map api), jsp,
: mysql, hbase, cassandra, spark, ealsticsearch, spring, guice, aws.
: tomcat, maven, git, jira, stash etc.

avatar
b*s
38
不是从需求分析开始的?

【在 h*****a 的大作中提到】
: 系统设计现在一般不是从OO设计开始的。先从architecture上入手想想需要什么
: storage和service.

avatar
f*t
39
四五人很多了!如果你们想做类似于早起uber这种完全没有技术含量的app,3个月内上
线是硬指标。年底才做出来黄
花菜都凉了,主要士气没了

.

【在 t*******3 的大作中提到】
: I want to have 4 or 5 people including myself starting to write a similar
: system in my garage probably at the end of 2015. We work 55 hours per week.
: I really want to get some ideas from your guys.

avatar
h*a
40
原题是设计Uber,我觉得需求是well understood了吧,包括scale。但后来看lz说的可
能不是这个意思。

【在 b*******s 的大作中提到】
: 不是从需求分析开始的?
avatar
t*3
41
就是设计一个类似Uber的东西。
就是想借鉴一下。
当然不是Uber。

【在 h*****a 的大作中提到】
: 原题是设计Uber,我觉得需求是well understood了吧,包括scale。但后来看lz说的可
: 能不是这个意思。

avatar
y*u
42
做东西刚开始不用考虑scale啊
有人用了就有人愿意投,然后就可以migrate了

【在 h*****a 的大作中提到】
: 原题是设计Uber,我觉得需求是well understood了吧,包括scale。但后来看lz说的可
: 能不是这个意思。

avatar
t*3
43
Linux, Apache, Mysql, PHP?
不太熟悉PHP.

【在 y**********u 的大作中提到】
: To make an early version, you need experience in LAMP
avatar
t*3
44
能否谈谈怎么去设计这个系统。需要哪些服务等等。

【在 g*****g 的大作中提到】
: 核心应该是个dispatch算法,然后从1M司机,100M用户你打算怎么处理开始考虑。
avatar
h*a
45
同学,又不是说设计“mini-uber”,要谈系统设计当然是按照现在Uber的scale才好玩
,否则不就是个大学生的学期作业吗

【在 y**********u 的大作中提到】
: 做东西刚开始不用考虑scale啊
: 有人用了就有人愿意投,然后就可以migrate了

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。