1 / 61

Distributed Computing Infrastructure

Distributed Computing Infrastructure. Prepared for:. Fiorano MQ 5, Fiorano Integrator. Scalability. Performance. Standards. Fiorano Software. Founded 1995 Messaging Servers 1997 JMS implementation 이 처음 발표된 날 – September 1998 Over 50 Employees 본점 : Los Gatos, CA

zagiri
Télécharger la présentation

Distributed Computing Infrastructure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Computing Infrastructure Prepared for:

  2. Fiorano MQ 5, Fiorano Integrator Scalability. Performance. Standards.

  3. Fiorano Software • Founded 1995 • Messaging Servers 1997 • JMS implementation 이 처음 발표된 날 – September 1998 • Over 50 Employees • 본점 : Los Gatos, CA • 지점 : New York, London, New Delhi • Operations • JT Ventures 에 서 펀 딩 받음 • 2002 에 IPO 할 계획

  4. Over 120 Customers

  5. Partnerships

  6. 고객: • AT&T Wireless 문제점: • Cellular base stations 에 계속 된 업 데이트 필요 필요 조건: • 보안성, 높은 성능, 안정된 메세징 솔루션: • Wireless base stations 에 24 x 7 모니터링 필요 • Base station 에 성능 과 상태를 리얼 타임으로 알려준다 • 안정된 메세징 환경

  7. 고객: • Pennsylvania 주 문제점: • 경찰청 들간에 전과 기록 공유 필요성 • 경찰, 집행유예, 가석방, 등 필요 조건: • Standards-based, 보안성, 통지 솔루션: • JMS Distributed Application 에 높은 안정성 • 여러 부서 간에 리얼 타임으로 data 공유 • FioranoMQ 와 BEA WebLogic간의 서버 통합

  8. 고객: • Socketware™ 문제점: • E-메일 마케팅 과 메세징 솔루션 필요 조건: • Standards-based, 확장성, High-Performance, 신뢰성 솔루션: • 시간에 민감한 정보 를 즉각 deliver 함 • 많은 양의 메시지 제공 • 프로모션 응답 비율을 최대 100% 향상시키게 해 주는 시스템이다

  9. What Is Messaging ? • Software components 와 applications 간에 communication 방법 • 커뮤니케이션의 커넥션이 끊어진 경우에도 안전하게 메시지를 도착지까지 전달한다 • RMI/CORBA/E-mail 과 같은 communication mechanisms 와 는 다르다

  10. What is the JMS API ? • JAVA API 는 applications 이 messaging implementation에서 메시지를 작성, 보내기, 받기, 그리고 읽기를 가능하게 해 준다

  11. JMS API enables … • 커뮤니케이션의 연결이 끊어졌을 때 메시지를 안전하게 전달하는 것 이외에도: • 비동기식(Asynchronous) • 신뢰성(Reliable)

  12. JMS Application Components • JMS Provider • JMS Clients • Messages • Administered objects • Non-JMS Clients

  13. JMS : Messaging Domains • Point-to-Point 메세징 도메인 • Publish-Subscribe 메세징 도메인

  14. Point to Point Messaging • 각각에 message 는 하나에 고객을 갖고있다 • Sender 와 receiver 에 message 사이 는 시간에 구애를 받지 안는다 • Receiver 성공적으로 processing 된 message 를 승인 한다

  15. PTP Model 모든 message 가 하나에 고객을 통해 process 될 때 PTP messaging 을 쓴다

  16. Publish/Subscribe Messaging • 각각 message 들은 여러 개의 destinations 이 있다 • Publisher과 subscriber 사이에는 시간에 영향을 받지만 durable subscriber는 예외다

  17. Pub-Sub Model Message 가 zero, one, 아니면 다수 에 고객간에 process 될 때 pub/sub messaging 을 쓴다

  18. Message Consumption • Synchronous • “Receive” method 를 불러서 destination 에 서 뿌려준다 • Asynchronous • Message Listener 를 setting 한다

  19. JMS Application Building Blocks • Administered Objects (connection factories and destinations) • Connections • Sessions • Message Producers / Consumers • Messages

  20. JMS Client Application

  21. Administered Objects • Connection Factories – Client 가 provider 와 connect 할 때 쓰는 object • Destinations – Client 가 message 에 target/source 를 파악할 때 쓰는 object • Administered Objects 는 provider 마다 다름

  22. Connections • JMS provider 와 virtual connection 을 encapsulate 한다 • 하나 또는 여러 개 에 session 을 만들 때 쓴다 • Queue Connection 방법과 Topic Connection이 있다

  23. Sessions • Message 를 생산하고 사용할 때 Single threaded context 를 쓴다 • Message producers, message consumers and messages 를 만들 때 사용 • Transactional context 를 제공한다 • Queue Session and Topic Session

  24. Message Producers • Messages 를 destination 에 보낼 때 이용하는 object 를 session 을 통해서 만든다 • PTP 는 QueueSender interface 를 사용한다 • PubSub 는 TopicPublisher interface 를 사용한다

  25. Message Consumers • Destination 에 보낸 message 를 받을 때 이용하는 object 를 session 을 통해서 만든다 • JMS client 가 JMS provider 를 이용해서 destination 에 interest 를 register할수 있 게 한다 • PTP 는 QueueReceiver 를 사용한다 • PubSub 는 TopicSubscriber interface 를 사용한다

  26. Message Listeners • Object that acts as an asynchronous event handler for messages • onMessage 기능이 제공되는 MessageListener interface 를 사용한다 • OnMessage method 는 message 가 도착할 때 어떤 행동을 취할지 생각한다

  27. JMS Messages • Header • JMSDestination, JMSExpiration, JMSReplyTo .. • Properties (optional) • Body (optional) • TextMessage, MapMessage, BytesMessage, StreamMessage, ObjectMessage, Message

  28. FioranoMQ - Message Server • Standards-based • Fully JMS 1.0.2 compliant, Pure Java • Performance • 타 제품보다 약 10배 정도의 속도로 확실한 메시지를 보낸다 • File-based data store • Scalability • Scalable Connection Management (SCM) • Fiorano Neighboring™ • Clustering & Load-balancing

  29.        FioranoMQ - ServerArchitecture ERP Legacy SSL TCP/IP FioranoMQ Server Components Security Administration C++ Bindings AppServer Integration Neighboring Message Store ETS – Automatic Fail over Capability XML Toolkit Firewall HTTP HTTP

  30. FioranoMQ - Message Server • Interoperability • C++ RTL • XML Support • FioranoMQ Bridge™ - IBM MQ Series & MSMQ • Internet Support • HTTP Tunneling • Applet/Browser Support • Security • “Software Firewalls” • ACE/ACL • SSL

  31.                      FioranoMQ Architecture • FioranoMQ – Messaging Server • High Performance • Hub & Spoke Architecture • Guaranteed Message Delivery • Publish/Subscribe • Point-to-Point TCP/IP  HTTP  SSL FioranoMQ Message Server • FioranoMQ – Info Bus • Server-less Multicast JMS • Peer-to-Peer • Publish/Subscribe • High Availability • No single point of failure FioranoMQ - Info Bus

  32. Performance Advantage Unique하고 성능이 확인된 file based data store은 FioranoMQ의 성능을 높여주는 Key Reason이다.

  33. Installation • Windows • Installable .exe • As an NT Service • Solaris • tar.gz archive • License Key • Offline database의 Directory Path 세팅 java -classpath $CLASSPATH fiorano.jms.ex.FMP -p ../bin

  34. Running Samples • Publish / Subscribe • Point-to-Point • Repeater • XML • Dispatcher

  35. Administration • Administrator Console • Users, Groups, Topics Queues, Durable Subscribers • TCFs, QCFs Admin CFs • Dispatcher, Snooper • Administration APIs • Creating an Admin Connection

  36. Connection Manager • Pluggable Architecture • Java connection management • Scalable Connection Management (SCM) • Secure & Non-Secure • Tested with 3,000 concurrent clients • Windows NT • Unix

  37. Scalable Connection Manager (SCM)

  38. Naming Manager • Directory Information Storage • LDAP Integration • Support for existing network infrastructure • RDBMS support • Use RDBMs of choice • XML support • Local storage in XML format

  39. Integration with LDAP Servers • Pluggable interface to LDAP Servers • Netscape, etc. • 모든 ‘administered objects’를 검색 • 모든 meta data objects는 LDAP Server에 저장될 수 있다 • LDAP를 사용하기 위한 FioranoMQ의 설정 • Server.cfg • Looking up Connection Factories • Setting Access Permissions

  40. JNDI Lookup • JMS applications은 standard based JNDI APIs를 이용하여 다양한 various administered objects를 검색할 수 있다. • Client code는 vendor specific implementation에 완전히 독립적이 되어진다. • JNDI compliant인 어떤 JMS vendor에 의해서 쓰여진 code도 그 code자체로 쓰여질 수 있다.

  41. JNDI Lookup • FioranoMQ는 context interface의 가장 중요한 JNDI API를 지원한다. • FioranoInitialContextFactory는 JNDI의 interface 인 InitialContextFactory를 실행한다.

  42. Tunneling Through Firewalls • SOCKS Proxy Server • Tunnel through client & server side firewalls • SOCKS는 TCP나 UDP based client and server에 data channel service를 제공하는 proxy를 생성한다. • HTTP Tunneling • Tunnel through client & server side firewalls • Proxy servers는 HTTP에 대한 proxy tunneling의 연장을 확실히 제공해야 한다.

  43. HTTP Tunneling HTTP Tunneling Client Proxy Server Proxy FioranoMQ SSL / Non SSL JMS Application SSL / Non SSL TCP Connection HTTP Connection HTTP Connection Proxy Servicing Client Requests HTTP Connect FioranoMQ SSL / Non SSL JMS Application SSL / Non SSL TCP Connection HTTP Connection

  44. Security • User Identification & Authentication • JMS API에 의해서 지정된 username/password model • Authentication & Data Protection • Based on Digital Certificates • SSL

  45. Security Realms • FioranoMQ server의 자원을 보존하기 위한 logical and centralized grouping of Users, Groups, and ACLs. • User Management • Default Realm • NT Realm • Access Control • ACLs

  46. Security Realms • Setting up Realms • NT • UNIX • Permissions • Configuration • Administering Realms • Limitations

  47. Security Realms • LDAP • 한곳에서 조직의 모든 구성원을 관리: a LDAP directory. • Configuration • Caching Realm • RDMS Realm

  48. C++ Runtime Library • Thin set 이나 wrapper classes를 이용하여 C++ programs도 JMS messaging 기능을 이용할 수 있다. • Pub/Sub & PTP • Compiling and running C++ programs • Windows • Solaris • JDKs • Multithreaded Clients • Issues

  49. Hierarchical Topics • 계층적인 방식에서 topic name spaces 는 다양한 destination을 구성할 수 있는 능력을 제공한다. • Name Space 표시

  50. Hierarchical Topics • Creating Hierarchical Topics • Looking up Hierarchical Topics • Security Considerations • Limitations

More Related