erlang开发电信网管项目实践

上传人:j7****6 文档编号:61609121 上传时间:2018-12-06 格式:PPT 页数:58 大小:2.19MB
返回 下载 相关 举报
erlang开发电信网管项目实践_第1页
第1页 / 共58页
erlang开发电信网管项目实践_第2页
第2页 / 共58页
erlang开发电信网管项目实践_第3页
第3页 / 共58页
erlang开发电信网管项目实践_第4页
第4页 / 共58页
erlang开发电信网管项目实践_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《erlang开发电信网管项目实践》由会员分享,可在线阅读,更多相关《erlang开发电信网管项目实践(58页珍藏版)》请在金锄头文库上搜索。

1、Erlang开发电信网管项目实践,Author: Ery Lee Date: December 2008 Email: ,Agenda,About Opengoss Project Road to Erlang The Architecture Erlang Highlights What We Got What We Lost About Erlang Syntax Thinking in Software,About Opengoss Project,Whats Opengoss?,Next Generation Network and Business Management System

2、 One uniform platform based on Linux,Erlang/OTP and ROR Different applications for WIFI, EPON and Enterpise networks,Opengoss Product Family,DMIT, Monet, Evabus, Report, RRDB, WebTopo,Platform,Linux/Unix, MySQL, Oracle, LDAP, Erlang/OTP, Ruby and Rails,Base,N/A,Opengoss Enterprise,Opengoss EPON,Open

3、goss WLAN,NMS,N/A,N/A,N/A,WIMSS,OSS,Internet,Enterprise,EPON-OSS,WIFI-OSS,Future of Opengoss,The Network Management Cloud,Road to Erlang,Pure Java Originally,First Version: Java and JEE Second Version: Java, OSGi, Eclipse, Model-Driven,Java could do everything, but,Java , JSP , JSF, Struts, Webwork,

4、 Velocity , Spring, Hibernate, iBatis, EJB, JDO, JMS, JNDI, JDBC, JAAS, JTA, RMI, IIOP, Web Services, SOAP, SOA, SDO. But, could Java do anything best?,We Had a Big Idea Once,Planned Third Version: OSGI, Component, Plugin, SOA, SDO, SCA,But we have no money and big team.,We are tired of NEW concepts

5、 and frameworks.,SDO, SCA, SOA, ESB, BPML,SOBA. Endless WS-* Documents,Into the Wild,We want to be far away.,“Hello Stranger”,Fall in love with REST, Rails and Erlang ,Why Erlang?,Simplicity Performance Concurrency Distribution Fault Tolerance,The Architecture,Architecture,Trouble Ticket 3rd party,A

6、utomations,SNMP Probe,P,Syslog Probe,P,API,P,Generic,P,Evabus,SNMP Monitor,M,Ping Monitor,M,TCP Monitor,M,Other Monitor,M,WebPortal (WebTop),DMIT,RRDB,LDAP/MIT,RDMS,Monet,UI,Data,Biz,Collect,Design,Layers,Present Layer: AJAX, Rails Data Center Layer: MySQL, Oracle, RRDB, LDAP Business Layer: DMIT(Di

7、stributed MIT), Evabus(Event and Alarm Bus), Monet(Distributed network monitor) Data Collection Layer: Probe, Monitor, Mediator,DMIT,LDAP and Syncrepl,Evabus,Concurrent Event and Alarm Process Line,Monet,Massively distributed network monitor and data collection,Errd,RRDTool Erlang port,Erlang Highli

8、ghts,Master/Slave and Pool,Distribution and load balance.,Master Applications,Slave Applications,Sample code: pool,handle_cast(add, Dn, Attrs, State) - Node = pool:get_node(), rpc:call(Node, monet_agent, monitor, Dn, Attrs), ets:insert(mon_entry_table, Dn, Node), noreply, State;,OTP Behaviors,applic

9、ation supervisor gen_server gen_event gen_fsm gen_monitor,Supervisor tree,gen_server: opengoss_mysql,-module(opengoss_mysql). -behaviour(gen_server). -export(insert/2, select/1, select/2, select/3, update/2, update/3, delete/2). ,gen_server: opengoss_mysql(cont),opengoss_mysql:select(wifi_mobile_uni

10、ts, id, mac, ap_dn, Dn) opengoss_mysql:update(wifi_mobile_units, last_seen, datetime, Now, and, ap_Dn, Dn, in, id, UpdatedIds) opengoss_mysql:delete(wifi_mobile_units, and, ap_Dn, Dn, in, id, DeletedIds);,gen_event: mit_event_h,handle_event(present, Dn, Entry, State) - handle_add_entry(Dn, Entry), o

11、k, State; handle_event(add, Dn, Entry, State) - handle_add_entry(Dn, Entry), ok, State; handle_event(modify, Dn, Entry, State) - handle_modify_entry(Dn, Entry), ok, State; handle_event(delete, Dn, _Entry, State) - handle_delete_entry(Dn), ok, State;,gen_fsm: eldap_syncrepl,-module(eldap_syncrepl). -

12、behaviour(gen_fsm). -include(“eldap.hrl“). -include(“ELDAPv3.hrl“). -export(init/1, connecting/2, wait_bind_response/2, wait_syncrepl_response/2, handle_event/3, handle_sync_event/4, handle_info/3, terminate/3, code_change/4, close/0).,Other libraries,SNMP Mochiweb Errd Eldap MySQL driver Cron,What

13、We Got,Productivity,Small team to develop a NMS product 2 Ajax/Html, 2 Rails/DB, 1 Erlang 2 days to coding syncrepl protocol,Performance,1 HP380, 2 CPUs, 4G mem, 8 Cores 1 Oracle, 1 Mysql, 1 OpenLdap, 4 Mongrel, 1 Master, 4Slaves 5 minutes interval 10+ measure items average Collect 200 Switches, 120

14、0 Aps, 8000 Interfaces,Concurrency,8000+ collect processes 80 SNMP client 80 PING 30 RRDTools 4 Erlang SNMP Client,Scalability,Massively Distributed Data Collection Scale from 1000+ to 100,000+ Aps Try to resolve IO bottleneck Try to partition data,Stability,Never stop monitor engine Failure Recover

15、 Hot code loading,Distribution,Transparent distribution No effort to get master/slave,Happiness,Less code, Less noises More Happiness,Loneliness,No Girls?,What We Lost,Java,Comprehensive matured libraries and frameworks The Java community,Buzzword,No SOA, SCA, SDO, ESB finally.,About Erlang Syntax,L

16、ove,Function Programming? Pattern match List comprehension,Hate,Ugly If String Support Records,Thinking in Software,Far away from SOA,SOAP Died. WS-* is dying. And then SOA?,OO is over evaluated,The revolution is RDBMS and C Language http:/ just Data,IT was named as “Data Processing“ in enterprise. The data looks like table and records in DB The data looks like objects in busin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号