SlideShare a Scribd company logo
1 of 27
An Introduction to ...
    Fluentd plugins for
               CouchDB,
            Amazon SQS,
            Amazon SNS
                         @ixixi
$ whoami
@ixixi (Yudai Odagiri)
Engineer of Future Architect, Inc.
  Hadoop




Ustreamer
       CORSS, MongoTokyo2012,                  ,
  GraphDB     , Twitter   , MongoDB   ......


  Ustream
Agenda
  CouchDB?
   fluent-plugin-couch
     demonstration
  Amazon SQS?
   fluent-plugin-sqs
  Amazon SNS?
   fluent-plugin-sns
  next features...
CouchDB?
           Relax!
CouchDB?


 Document-oriented database

 MVCC (MultiVersion Cuncurrency Control)

  Auto versioning (No “update”)

 RESTfull HTTP JSON APIs
CouchDB?
Small footprint
 run on mobile devices ( android / iOS )
Multi-master Replication

                  Replication (via HTTP)
CouchDB?
Written in Erlang
Not only DB Server, but also Application &
Web Server.
Built-in web GUI
 “Futon”
MapReduce on CouchDB
CouchDB MapReduce
User-defined query structured as M/R
MapReduce View (index)
 view index is built lazily

                  View Definition (MapReduce)



                              Result
CouchDB MapReduce
Incremental view index update
  “possible to use M/R to query huge partitioned clusters in
   realtime, instead of having to wait for a whole M/R job to
   complete or having stale, occasionally updated indexes.”
                                               ~Damien Katz
                               http://damienkatz.net/2008/02/incremental_map.html


implementation details
 { omitted }   this is Lightning Talk :-P

 see : http://horicky.blogspot.com/2008/10/couchdb-
 implementation.html
fluent-plugin-couch
fluent-plugin-couch
fluentd (buffered) output plugin
 store fluent-event as CouchDB Document to CouchDB

 install
 $ gem install fluent-plugin-couch
                  <match couch.**>
 configuration       type couch
                    database fluent
                    host ixixi.cloudant.com
                    port 80
                    # for Basic Authentication (optional)
                    user ixixi
                    password **********
                    # Other buffer configurations....
                  </match>
Demo
count tweets in public timeline (use Streaming API)
group by timezone and language in real-time.

                                                    M/R view update
                                                     (incremental)




                       bulk insert


Streaming API        fluentd          flush interval => 5sec.
                                buffer
fluent-plugin-sqs
why need queue?
to stop and update receiver application

to consider the state of receiver servers
 Receiver servers ( on which heavy processes are running)
 may not be able to deal with messages.




     fluentd
Amazon SQS
 Amazon Simple Queue Service (SQS)
 Distributed Queue Service
 since 2006 ( the oldest service of AWS )
 Automatic Replication in data centers
  High Availability
 High Scalability
 Secure
why SQS?

Queue Server requires high availability

 Generally, high availability queue server is
 very expensive

Amazon SQS is inexpensive
 $0.000001( per request )
   free tier (~100,000 requests/month)
 $~0.201 /GB (Data transfer out)
fluent-plugin-sqs
 fluentd (buffered) output plugin
  store fluent-event to Amazon SQS

  install
  $ gem install fluent-plugin-sqs

  configuration
   <match sqs.**>
     type sqs
       aws_key_id {AWS_KEY_ID}
       aws_sec_key {AWS_SEC_KEY}
       queue_name fluent-queue
       sqs_endpoint sqs.ap-northeast-1.amazonaws.com
     # Other buffer configurations....
   </match>
fluent-plugin-sns
Amazon SNS
 Amazon Simple Notification Service (SNS)
 multi-protocol
  e-mail,email(json),http(s),SMS,SQS(!!)
 Installation not required
 push-base architecture
 high availability
 very inexpensive
Amazon SNS
Manager,Publisher,Subscriber Model
 manager makes “topic” and
 set subscribers to “topic(s)”
 Publisher sends message to SNS topic,
 then SNS pushes message to subscribers
Amazon SNS

                                           Subscriber
Publisher                         e-mail
                      SNS
fluentd                             SMS
                                           Subscriber

                        Topic A
            send
                                  HTTP      Subscriber
                        Topic B
            Manager
                                            Subscriber
Amazon SNS
Publisher(->fluentd) is not Manager.
 Should be written many subscriber
 information in “fluent.conf” ? ---- No.
fluent-plugin-sns
 fluentd output plugin
  send fluent-event to Amazon SQS

  install
  $ gem install fluent-plugin-sns

  configuration
   <match sns.**>
     type sns
       aws_key_id {AWS_KEY_ID}
       aws_sec_key {AWS_SEC_KEY}
       sns_topic_name = fluentd-topic
       sqs_endpoint sqs.ap-northeast-1.amazonaws.com
       sns_subject_key title
   </match>
next features...?
next feature...?
fluent-plugin-couch
  “update document”
    e.g.) To handle events such as updating the status of the server.

    can refer to previous documents.
    ∵ CouchDB is MVCC based , automatic versioning.

fluent-plugin-sqs
  input-plugin
fluent-plugin-sns
  customize formatting & multi formatting
thank you!

More Related Content

What's hot

AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
Amazon Web Services
 
Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017
Amazon Web Services
 

What's hot (20)

AWS利用の勘所とトレーニングでの活用
AWS利用の勘所とトレーニングでの活用AWS利用の勘所とトレーニングでの活用
AWS利用の勘所とトレーニングでの活用
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container Service
 
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020 전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
전 세계 팬들이 모일 수 있는 플랫폼 만들기 - 강진우 (beNX) :: AWS Community Day 2020
 
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
 
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
ContainerDay 2020 - Using Docker as a frontend for Amazon ECS and AWS Fargate
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
Aws meetup ssm
Aws meetup ssmAws meetup ssm
Aws meetup ssm
 
AWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and JavaAWS Lambda with Serverless Framework and Java
AWS Lambda with Serverless Framework and Java
 
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - AWS Summit Seoul 2017
 
AWS Cloud Formation
AWS Cloud Formation AWS Cloud Formation
AWS Cloud Formation
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice(CMP406) Amazon ECS at Coursera: A general-purpose microservice
(CMP406) Amazon ECS at Coursera: A general-purpose microservice
 
Spinnaker 파트 1
Spinnaker 파트 1Spinnaker 파트 1
Spinnaker 파트 1
 
IDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet ServerlessIDI 2020 - Containers Meet Serverless
IDI 2020 - Containers Meet Serverless
 
Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017Intro to Batch Processing on AWS - DevDay Austin 2017
Intro to Batch Processing on AWS - DevDay Austin 2017
 
Let's Code our Infrastructure!
Let's Code our Infrastructure!Let's Code our Infrastructure!
Let's Code our Infrastructure!
 
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
Gaming on AWS - 1. AWS로 글로벌 게임 런칭하기 - 장르별 아키텍처 중심
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
 
Infrastructure as Code - AWS CloudFormation
Infrastructure as Code - AWS CloudFormationInfrastructure as Code - AWS CloudFormation
Infrastructure as Code - AWS CloudFormation
 

Similar to Fluentd Plugins for CouchDB, Amazon SQS/SNS

Similar to Fluentd Plugins for CouchDB, Amazon SQS/SNS (20)

Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020
 
Deploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalkDeploying your web application with AWS ElasticBeanstalk
Deploying your web application with AWS ElasticBeanstalk
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patterns
 
A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)A 60-minute tour of AWS Compute (November 2016)
A 60-minute tour of AWS Compute (November 2016)
 
Shipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howtoShipping logs to splunk from a container in aws howto
Shipping logs to splunk from a container in aws howto
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
locize tech talk
locize tech talklocize tech talk
locize tech talk
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
AWS Summit Auckland 2014 | Running your First Application on AWS
AWS Summit Auckland 2014 | Running your First Application on AWSAWS Summit Auckland 2014 | Running your First Application on AWS
AWS Summit Auckland 2014 | Running your First Application on AWS
 
Cloud State of the Union for Java Developers
Cloud State of the Union for Java DevelopersCloud State of the Union for Java Developers
Cloud State of the Union for Java Developers
 
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
(CMP405) Containerizing Video: The Next Gen Video Transcoding Pipeline
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS  솔루션즈 아키텍트:: A...
초보 개발자도 바로 따라할 수 있는 AWS 미디어 서비스를 이용한 Live/VOD 서비스 구축 – 현륜식 AWS 솔루션즈 아키텍트:: A...
 
실시간 서비스 플랫폼 개발 사례
실시간 서비스 플랫폼 개발 사례실시간 서비스 플랫폼 개발 사례
실시간 서비스 플랫폼 개발 사례
 
Event Streaming Architectures with Confluent and ScyllaDB
Event Streaming Architectures with Confluent and ScyllaDBEvent Streaming Architectures with Confluent and ScyllaDB
Event Streaming Architectures with Confluent and ScyllaDB
 
Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Fluentd Plugins for CouchDB, Amazon SQS/SNS

  • 1. An Introduction to ... Fluentd plugins for CouchDB, Amazon SQS, Amazon SNS @ixixi
  • 2. $ whoami @ixixi (Yudai Odagiri) Engineer of Future Architect, Inc. Hadoop Ustreamer CORSS, MongoTokyo2012, , GraphDB , Twitter , MongoDB ...... Ustream
  • 3. Agenda CouchDB? fluent-plugin-couch demonstration Amazon SQS? fluent-plugin-sqs Amazon SNS? fluent-plugin-sns next features...
  • 4. CouchDB? Relax!
  • 5. CouchDB? Document-oriented database MVCC (MultiVersion Cuncurrency Control) Auto versioning (No “update”) RESTfull HTTP JSON APIs
  • 6. CouchDB? Small footprint run on mobile devices ( android / iOS ) Multi-master Replication Replication (via HTTP)
  • 7. CouchDB? Written in Erlang Not only DB Server, but also Application & Web Server. Built-in web GUI “Futon”
  • 9. CouchDB MapReduce User-defined query structured as M/R MapReduce View (index) view index is built lazily View Definition (MapReduce) Result
  • 10. CouchDB MapReduce Incremental view index update “possible to use M/R to query huge partitioned clusters in realtime, instead of having to wait for a whole M/R job to complete or having stale, occasionally updated indexes.” ~Damien Katz http://damienkatz.net/2008/02/incremental_map.html implementation details { omitted } this is Lightning Talk :-P see : http://horicky.blogspot.com/2008/10/couchdb- implementation.html
  • 12. fluent-plugin-couch fluentd (buffered) output plugin store fluent-event as CouchDB Document to CouchDB install $ gem install fluent-plugin-couch <match couch.**> configuration type couch database fluent host ixixi.cloudant.com port 80 # for Basic Authentication (optional) user ixixi password ********** # Other buffer configurations.... </match>
  • 13. Demo count tweets in public timeline (use Streaming API) group by timezone and language in real-time. M/R view update (incremental) bulk insert Streaming API fluentd flush interval => 5sec. buffer
  • 15. why need queue? to stop and update receiver application to consider the state of receiver servers Receiver servers ( on which heavy processes are running) may not be able to deal with messages. fluentd
  • 16. Amazon SQS Amazon Simple Queue Service (SQS) Distributed Queue Service since 2006 ( the oldest service of AWS ) Automatic Replication in data centers High Availability High Scalability Secure
  • 17. why SQS? Queue Server requires high availability Generally, high availability queue server is very expensive Amazon SQS is inexpensive $0.000001( per request ) free tier (~100,000 requests/month) $~0.201 /GB (Data transfer out)
  • 18. fluent-plugin-sqs fluentd (buffered) output plugin store fluent-event to Amazon SQS install $ gem install fluent-plugin-sqs configuration <match sqs.**> type sqs aws_key_id {AWS_KEY_ID} aws_sec_key {AWS_SEC_KEY} queue_name fluent-queue sqs_endpoint sqs.ap-northeast-1.amazonaws.com # Other buffer configurations.... </match>
  • 20. Amazon SNS Amazon Simple Notification Service (SNS) multi-protocol e-mail,email(json),http(s),SMS,SQS(!!) Installation not required push-base architecture high availability very inexpensive
  • 21. Amazon SNS Manager,Publisher,Subscriber Model manager makes “topic” and set subscribers to “topic(s)” Publisher sends message to SNS topic, then SNS pushes message to subscribers
  • 22. Amazon SNS Subscriber Publisher e-mail SNS fluentd SMS Subscriber Topic A send HTTP Subscriber Topic B Manager Subscriber
  • 23. Amazon SNS Publisher(->fluentd) is not Manager. Should be written many subscriber information in “fluent.conf” ? ---- No.
  • 24. fluent-plugin-sns fluentd output plugin send fluent-event to Amazon SQS install $ gem install fluent-plugin-sns configuration <match sns.**> type sns aws_key_id {AWS_KEY_ID} aws_sec_key {AWS_SEC_KEY} sns_topic_name = fluentd-topic sqs_endpoint sqs.ap-northeast-1.amazonaws.com sns_subject_key title </match>
  • 26. next feature...? fluent-plugin-couch “update document” e.g.) To handle events such as updating the status of the server. can refer to previous documents. ∵ CouchDB is MVCC based , automatic versioning. fluent-plugin-sqs input-plugin fluent-plugin-sns customize formatting & multi formatting

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. &amp;#x5148;&amp;#x9031;CouchConfTokyo&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x305F;.(100&amp;#x4EBA;&amp;#x898F;&amp;#x6A21;)2&amp;#x5272;&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x5916;&amp;#x56FD;&amp;#x4EBA;&amp;#x3060;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x3057;&amp;#x3044;.&amp;#x65E5;&amp;#x672C;&amp;#x3067;&amp;#x306F;Mongo&amp;#x304C;&amp;#x5727;&amp;#x5012;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x611F;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x304C;&amp;#x3001;&amp;#x4E16;&amp;#x754C;&amp;#x3067;&amp;#x306F;CouchDB&amp;#x3082;&amp;#x7D50;&amp;#x69CB;&amp;#x4F7F;&amp;#x308F;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;.\n\n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n