Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Morning@Lohika : Atomix & distributed fighters

29 views

Published on

This is version of my talk about Distributed System and Atomix with funny demo based of Mortal Kombat battle.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Morning@Lohika : Atomix & distributed fighters

  1. 1. Atomix Distributed Fighters
  2. 2. Me !2 andriyrav@gmail.com Andriy Rymar @AndriyRymar
  3. 3. Me !2 Co-Founder & HoD @ TwelveZeros andriyrav@gmail.com Andriy Rymar @AndriyRymar
  4. 4. Me !2 Co-Founder & HoD @ TwelveZeros andriyrav@gmail.com Andriy Rymar @AndriyRymar Founder @ Jappware
  5. 5. Me !2 Co-Founder & HoD @ TwelveZeros Program Committee Memberandriyrav@gmail.com Andriy Rymar @AndriyRymar Morning@Lohika Founder @ Jappware
  6. 6. Content !3
  7. 7. Content !3 Intro
  8. 8. Content !3 Cluster Intro
  9. 9. Content !3 Cluster Intro Primitives
  10. 10. Content !3 Cluster Intro Demo Primitives
  11. 11. Content !3 Cluster Intro Demo Testing Primitives
  12. 12. #matl_atomix !4
  13. 13. #matl_atomix !4 #matl_atomix
  14. 14. !5 #matl_atomix Intro
  15. 15. !6 Atomix What? #matl_atomix
  16. 16. !6 Atomix A reactive Java framework What? #matl_atomix
  17. 17. !6 Atomix A reactive Java framework for building fault-tolerant What? #matl_atomix
  18. 18. !6 Atomix A reactive Java framework for building fault-tolerant distributed systems What? #matl_atomix
  19. 19. !7 Analogy #matl_atomix
  20. 20. !7 Analogy Spring MVC #matl_atomix
  21. 21. !7 Analogy Spring MVC MVC #matl_atomix
  22. 22. !7 Analogy Spring MVC Spring Web Services MVC #matl_atomix
  23. 23. !7 Analogy Spring MVC Spring Web Services MVC SOAP #matl_atomix
  24. 24. !7 Analogy Spring MVC Spring Web Services GWT MVC SOAP #matl_atomix
  25. 25. !7 Analogy Spring MVC Spring Web Services GWT MVC SOAP UI #matl_atomix
  26. 26. !8 Atomix #matl_atomix
  27. 27. !8 Atomix Build #matl_atomix
  28. 28. !8 Atomix Build distributed #matl_atomix
  29. 29. !8 Atomix systems Build distributed #matl_atomix
  30. 30. !8 Atomix systems Build distributed #matl_atomix
  31. 31. !9 Distributed System What? #matl_atomix
  32. 32. !9 Distributed System What? #matl_atomix
  33. 33. !9 Distributed System What? #matl_atomix
  34. 34. !9 Distributed System What? #matl_atomix
  35. 35. !9 Distributed System What? #matl_atomix
  36. 36. !10 Examples #matl_atomix
  37. 37. !10 Examples #matl_atomix
  38. 38. !10 Examples Yes #matl_atomix
  39. 39. !10 Examples Yes #matl_atomix
  40. 40. !10 Examples Yes Yes #matl_atomix
  41. 41. !10 Examples Yes Yes #matl_atomix
  42. 42. !10 Examples Yes Yes No #matl_atomix
  43. 43. MS vs DS !11 #matl_atomix
  44. 44. MS vs DS !11 S1 S2 S3 Micro-Services APIGateway #matl_atomix
  45. 45. MS vs DS !11 Micro-Services S1 S2 S3 APIGateway #matl_atomix
  46. 46. MS vs DS !11 Micro-Services Distributed System Node Node Node Node Node S1 S2 S3 APIGateway #matl_atomix
  47. 47. MS vs DS !11 Micro-Services Distributed System Node Node Node Node Node S1 S2 S3 APIGateway #matl_atomix
  48. 48. MS vs DS !11 Micro-Services Distributed System Node Node Node Node Node S1 S2 S3 APIGateway #matl_atomix
  49. 49. MS vs DS !11 Micro-Services Node Node Node Node Node S1 S2 S3 Apache Spark APIGateway #matl_atomix
  50. 50. Distributed System !12 Why? #matl_atomix
  51. 51. Distributed System !12 Why? Scalability #matl_atomix
  52. 52. Distributed System !12 Why? Scalability Speed #matl_atomix
  53. 53. Distributed System !12 Why? Scalability Speed Reliability #matl_atomix
  54. 54. Distributed System !13 Examples? #matl_atomix
  55. 55. Distributed System !13 Examples? Big Data processing #matl_atomix
  56. 56. Distributed System !13 Examples? Big Data processing Multi-task execution #matl_atomix
  57. 57. Distributed System !14 How? #matl_atomix
  58. 58. Distributed System !14 How? What is the first letter in English alphabet? #matl_atomix
  59. 59. Distributed System !14 How? What is the first letter in English alphabet? A: C C: A B: D D: B #matl_atomix
  60. 60. Distributed System !15 #matl_atomix
  61. 61. Distributed System !16 https://giphy.com/gifs/filmeditor-interested-airplane-movie-l4FARHkIFJReGSy2c #matl_atomix
  62. 62. Distributed System !16 https://giphy.com/gifs/filmeditor-interested-airplane-movie-l4FARHkIFJReGSy2c #matl_atomix
  63. 63. Distributed System !17 https://giphy.com/gifs/jNcGVJueKi51u #matl_atomix
  64. 64. Distributed System !17 https://giphy.com/gifs/jNcGVJueKi51u #matl_atomix
  65. 65. Issues !18 #matl_atomix
  66. 66. Issues !18 State Management #matl_atomix
  67. 67. Issues !18 State Management Coordination #matl_atomix
  68. 68. Issues !18 State Management Fault tolerance Coordination #matl_atomix
  69. 69. Issues !18 State Management Fault tolerance Coordination etc. #matl_atomix
  70. 70. !19 Atomix #matl_atomix
  71. 71. !20 Cluster #matl_atomix
  72. 72. Member !21 #matl_atomix
  73. 73. Member !21 Id #matl_atomix
  74. 74. Member !21 Id Type #matl_atomix
  75. 75. Member !21 Id Type Address #matl_atomix
  76. 76. Member !21 Id Type Address Persistent #matl_atomix
  77. 77. Ephemeral Member !21 Id Type Address Persistent #matl_atomix
  78. 78. Ephemeral Member !21 Id Type Address Persistent Local #matl_atomix
  79. 79. Ephemeral Member !21 Id Type Address Persistent Local Remote #matl_atomix
  80. 80. Persistent !22 #matl_atomix
  81. 81. Persistent !22 #matl_atomix
  82. 82. Persistent !22 #matl_atomix
  83. 83. Persistent !22 #matl_atomix
  84. 84. Ephemeral !23 #matl_atomix
  85. 85. Ephemeral !23 #matl_atomix
  86. 86. Ephemeral !23 #matl_atomix
  87. 87. Member !24 Member.builder("member1") #matl_atomix
  88. 88. Member !24 Member.builder("member1") .withType(Member.Type.EPHEMERAL) #matl_atomix
  89. 89. Member !24 Member.builder("member1") .withAddress("localhost",5000) .withType(Member.Type.EPHEMERAL) #matl_atomix
  90. 90. Member !24 Member.builder("member1") .build(); .withAddress("localhost",5000) .withType(Member.Type.EPHEMERAL) #matl_atomix
  91. 91. Atomix Instance !25 #matl_atomix
  92. 92. Atomix Instance !25 #matl_atomix
  93. 93. Atomix Instance !25 Member 1 Member 2 Member 3 #matl_atomix
  94. 94. Atomix Instance !25 Member 1 Member 2 Member 3 Configuration #matl_atomix
  95. 95. Atomix Instance !25 Member 1 Member 2 Member 3 Configuration #matl_atomix
  96. 96. Atomix Instance !26 Atomix.builder() #matl_atomix
  97. 97. Atomix Instance !26 Atomix.builder() .withLocalMember(localMember) #matl_atomix
  98. 98. Atomix Instance !26 .withMembers(member1, member2) Atomix.builder() .withLocalMember(localMember) #matl_atomix
  99. 99. Atomix Instance !26 .withMembers(member1, member2) Atomix.builder() .withLocalMember(localMember) .withManagementGroup(systemGroup) #matl_atomix
  100. 100. Atomix Instance !26 .withMembers(member1, member2) Atomix.builder() .withLocalMember(localMember) .withManagementGroup(systemGroup) .withPartitionGroups(dataGroup) #matl_atomix
  101. 101. Atomix Instance !26 .withMembers(member1, member2) Atomix.builder() .withLocalMember(localMember) .withManagementGroup(systemGroup) .withPartitionGroups(dataGroup) .build(); #matl_atomix
  102. 102. Atomix Instance !26 .withMembers(member1, member2) Atomix.builder() .withLocalMember(localMember) .withManagementGroup(systemGroup) .withPartitionGroups(dataGroup) .build(); #matl_atomix
  103. 103. Management Group !27 #matl_atomix
  104. 104. Management Group !27 #matl_atomix
  105. 105. Management Group !27 #matl_atomix
  106. 106. Partition Groups !28 #matl_atomix
  107. 107. Partition Groups !28 #matl_atomix
  108. 108. Groups !29 #matl_atomix
  109. 109. Groups !29 Raft #matl_atomix
  110. 110. Groups !29 Raft Primary-Backup #matl_atomix
  111. 111. Groups !29 Raft Primary-Backup #matl_atomix
  112. 112. Raft !30 #matl_atomix
  113. 113. Raft !30 #matl_atomix
  114. 114. Raft !30 #matl_atomix Commit Log
  115. 115. Raft !30 #matl_atomix Commit Log
  116. 116. Primary-Backup !31 #matl_atomix
  117. 117. Primary-Backup !31 #matl_atomix
  118. 118. Primary-Backup !31 #matl_atomix MemTable
  119. 119. Primary-Backup !31 #matl_atomix MemTable
  120. 120. !32 Primitives #matl_atomix
  121. 121. Primitives !33 #matl_atomix
  122. 122. Primitives !33 Data #matl_atomix
  123. 123. Primitives !33 Data Coordination #matl_atomix
  124. 124. Primitives !33 Consistent Map Consistent Multimap Distributed Set Atomic Value etc. Data Coordination #matl_atomix
  125. 125. Primitives !33 Consistent Map Consistent Multimap Distributed Set Atomic Value etc. Distributed Lock Work Queue etc. Data Coordination #matl_atomix
  126. 126. Sync API !34 ConsistentMap<String, String> map = #matl_atomix
  127. 127. Sync API !34 ConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") #matl_atomix
  128. 128. Sync API !34 ConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") .withNullValues() #matl_atomix
  129. 129. Sync API !34 ConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") .withNullValues() .withCacheEnabled() #matl_atomix
  130. 130. Sync API !34 ConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") .withNullValues() .withCacheEnabled() .withCacheSize(100) #matl_atomix
  131. 131. Sync API !34 ConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") .withNullValues() .withCacheEnabled() .withCacheSize(100) .build(); #matl_atomix
  132. 132. Async API !35 AsyncConsistentMap<String, String> map = atomix.consistentMapBuilder("my-map") .withNullValues() .withCacheEnabled() .withCacheSize(100) .build().async(); #matl_atomix
  133. 133. Custom Primitives !36 #matl_atomix
  134. 134. !37 Demo #matl_atomix
  135. 135. !38 Fight #matl_atomix
  136. 136. !38 Fight Member 1 Member 2 #matl_atomix
  137. 137. !38 Fight http://www.pngmart.com/image/10875 http://ru.mortalkombat.wikia.com/wiki/Файл:MKX_Sub-Zero.png #matl_atomix
  138. 138. Description !39 #matl_atomix
  139. 139. Description !39 3 1 2 #matl_atomix
  140. 140. Description !39 3 1 2 #matl_atomix
  141. 141. Description !39 https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles 3 1 2 Module : Judge #matl_atomix
  142. 142. Description !39 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles 3 1 2 Module : Judge Module : Fighter 1 Module : Fighter 2 #matl_atomix
  143. 143. Description !40 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png 3 1 2 Module : Judge Module : Fighter 1 Module : Fighter 2 UI 4 #matl_atomix
  144. 144. Architecture !41 #matl_atomix
  145. 145. Architecture !41 Atomix Instance #matl_atomix
  146. 146. Architecture !41 https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles Judge Atomix Instance #matl_atomix
  147. 147. Architecture !41 https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles Judge Atomix Instance Atomix Instance #matl_atomix
  148. 148. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles Judge Fighter Atomix Instance Atomix Instance #matl_atomix
  149. 149. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles Judge Fighter Atomix Instance Atomix Instance 2 x #matl_atomix
  150. 150. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles Judge Fighter Atomix Instance Atomix Instance 2 x AtomixInstance #matl_atomix
  151. 151. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png Judge UI Fighter Atomix Instance Atomix Instance 2 x AtomixInstance #matl_atomix
  152. 152. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png Judge UI Fighter Atomix Instance Atomix Instance 2 x Registration Set AtomixInstance #matl_atomix
  153. 153. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png Judge UI Fighter Atomix Instance Atomix Instance 2 x Registration Set Health Map AtomixInstance #matl_atomix
  154. 154. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png Judge UI Fighter Atomix Instance Atomix Instance 2 x Registration Set Health Map Attack Map AtomixInstance #matl_atomix
  155. 155. Architecture !41 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ https://www.toyshow.com.br/colecionaveis/action-figures/boneco-shao-kahn-mortal-kombat-classic-special-edition-112-storm-collectibles https://orig00.deviantart.net/18ef/f/2015/108/b/3/fire_and_ice__mortal_kombat_and_dota_2__by_mfp189-d8q8l2p.png Judge UI Fighter Atomix Instance Atomix Instance 2 x Registration Set Health Map Attack Map AtomixInstance #matl_atomix
  156. 156. Lets GO! !42 http://www.mortalkombatwarehouse.com/mk/scorpion/http://www.mortalkombatwarehouse.com/mk/subzero/ #matl_atomix
  157. 157. !43 Hope it was interesting https://www.catersnews.com/wp-content/uploads/2014/12/CATERS_Puss_In_Boots_03-457x773.jpeg #matl_atomix
  158. 158. !44 https://www.catersnews.com/wp-content/uploads/2014/12/CATERS_Puss_In_Boots_03-457x773.jpeg #matl_atomix
  159. 159. !45 https://www.catersnews.com/wp-content/uploads/2014/12/CATERS_Puss_In_Boots_03-457x773.jpeg #matl_atomix
  160. 160. !46 https://www.catersnews.com/wp-content/uploads/2014/12/CATERS_Puss_In_Boots_03-457x773.jpeg #matl_atomix
  161. 161. !47 Testing #matl_atomix
  162. 162. Testing !48 #matl_atomix
  163. 163. Testing !48 Write synchronous code #matl_atomix
  164. 164. Testing !48 Write synchronous code Use workarounds #matl_atomix
  165. 165. Testing !48 Write synchronous code Use workarounds Wait for Atomix-Tests #matl_atomix
  166. 166. !49 Out of scope #matl_atomix
  167. 167. Out of scope !50 #matl_atomix
  168. 168. Out of scope !50 Standalone agent #matl_atomix
  169. 169. Out of scope !50 Standalone agent REST API #matl_atomix
  170. 170. Out of scope !50 Standalone agent REST API Messaging #matl_atomix
  171. 171. Out of scope !50 Standalone agent REST API Messaging Profiles #matl_atomix
  172. 172. !51 Summary #matl_atomix
  173. 173. Summary !52 #matl_atomix
  174. 174. Summary !52 Easy #matl_atomix
  175. 175. Summary !52 Easy Flexible #matl_atomix
  176. 176. Summary !52 Easy Flexible Young #matl_atomix
  177. 177. Meet !53 #matl_atomix
  178. 178. Meet !53 Jordan Halterman Atomix Founder #matl_atomix
  179. 179. Meet !53 Jordan Halterman 1) Which parts of CAP theorem Atomix supports Atomix Founder #matl_atomix
  180. 180. Meet !53 Jordan Halterman 2) How Atomix resolve conflicts?  1) Which parts of CAP theorem Atomix supports Atomix Founder #matl_atomix
  181. 181. Meet !53 Jordan Halterman 2) How Atomix resolve conflicts?  1) Which parts of CAP theorem Atomix supports 3) What are the closest competitors to Atomix? Atomix Founder #matl_atomix
  182. 182. Meet !53 Jordan Halterman 2) How Atomix resolve conflicts?  1) Which parts of CAP theorem Atomix supports 4) Who use Atomix in production 3) What are the closest competitors to Atomix? Atomix Founder #matl_atomix
  183. 183. Meet !53 Jordan Halterman 2) How Atomix resolve conflicts?  1) Which parts of CAP theorem Atomix supports 4) Who use Atomix in production 5) Atomix best-practices 3) What are the closest competitors to Atomix? Atomix Founder #matl_atomix
  184. 184. Interview !54 Jordan Halterman Atomix Founder https://youtu.be/qJ4DOuLLryc #matl_atomix
  185. 185. !55 Thank You! https://thumbs.gfycat.com/DefiantGrandEmeraldtreeskink-size_restricted.gif
  186. 186. !55 Thank You! https://thumbs.gfycat.com/DefiantGrandEmeraldtreeskink-size_restricted.gif
  187. 187. Questions !56 andriyrav@gmail.com Andriy Rymar @AndriyRymar Become a speakerContacts Morning@Lohika #matl_atomix

×