1
lightening 2014-01-13 21:10:44 +08:00 1
Erlang?
|
2
clino 2014-01-13 21:18:59 +08:00 1
golang ?
语言层面就支持coroutine,觉得这种场合挺合适的 |
3
lidashuang 2014-01-13 21:20:28 +08:00 1
golang
|
4
yangff 2014-01-13 21:24:45 +08:00
不要怀疑是c……你需要榨取他的每一分效率。
|
5
sinxccc 2014-01-13 21:26:13 +08:00
大部分都是 C,小部分是 C 和 C++ 的混合。
|
6
min 2014-01-13 21:28:55 +08:00
客户如果指定语言就用指定的
如果只指定了性能指标,你能满足就好了嘛 |
7
webgeekman OP |
8
webgeekman OP |
9
yangff 2014-01-13 21:57:59 +08:00
@webgeekman 那就换成员,换成C适用的成员。基本上这些东西都是写在操作系统/固件里面的,erlang和golang根本不适用。
而且网关需要多复杂的逻辑?就是一个大门而已,更多复杂事情赞先别管了,放进来再说不行吗?后面还好多人呢! |
10
yangff 2014-01-13 21:59:39 +08:00 1
或许叫做大门不严谨吧……但是,我的意思是更复杂的逻辑请先放进来在弄。
|
11
yangff 2014-01-13 22:02:58 +08:00
不过如果要说未来的趋势的话,如果能在可以接受的范围内让这些设备性能过剩的话,用erlang或者golang当然就都没有问题了。。
|
12
guotie 2014-01-13 22:04:05 +08:00
golang
|
13
dhysum 2014-01-13 22:04:29 +08:00
Erlang和Golang什么时候开始这么受欢迎了? 网关一类的,目前还没有能替代C的吧?
招一些做嵌入式的就好了 |
16
pindleskin 2014-01-13 22:30:22 +08:00
取决于对性能,延迟,可靠性等的要求。如果要达到百千兆路由器的性能和低延迟,只能用c或c++吧,其他需要运行在vm里或用垃圾回收的都不合适,vm太复杂,各种意外有可能发生,垃圾回收在高负载下需要大量的内存,有时候还需要把整个vm停下来几到几百毫秒。如果是应用网关,偶尔几十到几百毫秒的延迟可以忍受,那选择就多了。
|
17
nsa 2014-01-13 22:35:00 +08:00
C, 毫无疑问
|
18
sinxccc 2014-01-13 23:30:52 +08:00
@webgeekman 恕我直言,那你的团队里有没有对 Erlang 或者 Go 足够精通的人呢?
网络设备上选择 C 居多而避开虚拟机,动态内存回收之类的高级功能的一个原因也是 C 在语言层面上简单,不会因为不熟悉而掉进语言自己的坑。 |
19
tangzx 2014-01-13 23:51:42 +08:00 via iPhone
用c在nginx上做二次开发吧
|
21
senghoo 2014-01-14 09:56:34 +08:00
我也是做网络设备的,我们的设备吞吐在2Gbps左右。
核心部分必然是c。辅助用python。运行在linux下。 首先这种设备得区分开必须要高效并保证实时性的部分和可以延迟执行的部分。前者用c,后者就随便一个语言。 |
22
rrfeng 2014-01-14 10:29:10 +08:00
我看到题目第一印象是『网关』是指什么
果然后面讨论的很热烈但是仍有分歧,楼主说的『网关』指的是啥…… |
23
keyman 2014-01-14 12:28:35 +08:00
第一反应c,第二反应erlang。
|
24
shanks 2014-01-14 13:26:26 +08:00
同没搞明白,啥是网关,求科普。
为何我想到SDN呢。。 |
25
dorentus 2014-01-14 14:49:39 +08:00
网关是啥?
用你们熟悉的语言。 |
26
topkyo 2014-01-14 15:14:26 +08:00
首先这个网关定义就不明确,是嵌入式的还是web服务器型的?
嵌入式的当然是用c/c++;web服务器的多了,哪个熟悉用那个 |