1 00:00:01,710 --> 00:00:06,570 We've now taken a look twice at this style of asynchronous communication and at this point you probably 2 00:00:06,570 --> 00:00:10,440 have some really burning questions but this video I want to go over some questions I think you might 3 00:00:10,440 --> 00:00:12,860 have and some possible answers. 4 00:00:12,870 --> 00:00:17,430 The first thing you might be thinking is something like Wait a minute Steven you're saying that if we 5 00:00:17,430 --> 00:00:22,770 have two types of resources so in our case posts and comments if we want to serve out that information 6 00:00:22,770 --> 00:00:25,770 effectively we have to create a third service. 7 00:00:25,770 --> 00:00:28,410 No that is not what I'm saying at all. 8 00:00:28,410 --> 00:00:34,320 We are not always going to be creating extra services just for the sole purpose of joining data together. 9 00:00:34,380 --> 00:00:40,090 In reality if we were actually building this sort of blog application it well this put blog application 10 00:00:40,090 --> 00:00:44,730 will be part of a larger scheme of resources or a larger application. 11 00:00:44,730 --> 00:00:49,740 In reality we would probably put this idea of posts and comments together in the same service so we 12 00:00:49,740 --> 00:00:54,870 could join that data together at the code level rather than at the service level by creating a third 13 00:00:54,870 --> 00:00:55,920 service. 14 00:00:55,920 --> 00:00:58,820 So what we're doing right now is solely for learning purposes. 15 00:00:58,830 --> 00:01:04,650 This is just to help expose you to these ideas of how we can have information stored in multiple services 16 00:01:05,040 --> 00:01:09,770 and eventually kind of replicate that data or make use of it in one single location. 17 00:01:09,780 --> 00:01:17,010 So I'm not advocating that you create an extra service for every last joint of data that you need second 18 00:01:17,010 --> 00:01:18,250 big question you might have. 19 00:01:18,360 --> 00:01:23,220 I've been saying many times that these services are independent and if one crashes the others stay alive 20 00:01:23,880 --> 00:01:25,290 you might say who cares. 21 00:01:25,290 --> 00:01:27,990 How often are these services going to be crashing. 22 00:01:27,990 --> 00:01:32,610 Well at this point the Course I haven't really gone into a lot of reasons on why you would use micro 23 00:01:32,610 --> 00:01:36,990 services in the first place to be totally honest with you I'm kind of assuming that if you're in this 24 00:01:36,990 --> 00:01:41,820 course you've already done at least a little bit of research and you might have an idea of why you want 25 00:01:41,820 --> 00:01:44,160 to use micro services. 26 00:01:44,160 --> 00:01:49,500 One of the big reasons that we use micro services is the possibility of increasing the overall reliability 27 00:01:49,530 --> 00:01:50,500 of our system. 28 00:01:50,520 --> 00:01:55,110 That's a huge driving force in why we use micro services. 29 00:01:55,110 --> 00:01:59,910 So the fact that we can make these things independent and keep the vast majority of our application 30 00:01:59,910 --> 00:02:05,550 running even if some part of it goes down that's a huge driving force in why we are here learning about 31 00:02:05,550 --> 00:02:07,460 micro services in the first place. 32 00:02:08,460 --> 00:02:14,160 The third thing you might be saying OK this is way too complicated for the tiny bit of benefit that 33 00:02:14,160 --> 00:02:20,080 we get where we're having to create entire new projects just to support these very basic data queries. 34 00:02:20,540 --> 00:02:26,010 And I know it seems that way now I know this entire event style architecture might seem really complicated 35 00:02:26,040 --> 00:02:30,780 and challenging but it really just seems like that at this point. 36 00:02:30,780 --> 00:02:34,910 We're going to very shortly start to add in another feature to the project. 37 00:02:34,980 --> 00:02:40,560 So the one we're working on right now and by taking this kind of event style architecture adding in 38 00:02:40,560 --> 00:02:46,110 this additional feature is going to actually be somewhat darn easy compared to if we were using a monolith 39 00:02:46,410 --> 00:02:50,330 or possibly some kind of synchronous style of communication. 40 00:02:50,400 --> 00:02:52,860 So I know it seems like this is way over the top right now. 41 00:02:52,860 --> 00:02:58,010 That turns out that some things down the line start to get a little bit easier. 42 00:02:58,020 --> 00:03:01,980 The last thing on I mentioned here is that at this point if you are really starting to think through 43 00:03:01,980 --> 00:03:05,000 this architecture you might be starting to say hey Steven wait. 44 00:03:05,160 --> 00:03:10,620 This system is going to work in this scenario or what if this event occurs and that event or what about 45 00:03:10,620 --> 00:03:12,540 this corner case over here. 46 00:03:12,540 --> 00:03:13,260 Just be clear. 47 00:03:13,260 --> 00:03:18,960 There are definitely some super special corner cases that unite need to be concerned about or very special 48 00:03:18,960 --> 00:03:22,450 scenarios when we start using this event based architecture. 49 00:03:22,460 --> 00:03:28,440 We are going to take a deep look at some of these problems and I mean a deep look later on INSIDE the 50 00:03:28,440 --> 00:03:32,490 course and if you don't see anything wrong with this current approach I don't sweat it. 51 00:03:32,550 --> 00:03:35,970 It's something you really have to think about for a pretty long time before we start to realize where 52 00:03:35,970 --> 00:03:40,230 things start might start to go wrong again if you see some stuff to look a little bit funny right now 53 00:03:40,560 --> 00:03:41,310 don't sweat it. 54 00:03:41,310 --> 00:03:44,370 We're going to go over a lot of possible corporate case later on. 55 00:03:44,370 --> 00:03:49,110 And we have solutions for a lot of them not going to say like every possible solution. 56 00:03:49,110 --> 00:03:51,910 I'm sure you could think of some things that are going to go wrong that I have not thought of. 57 00:03:52,020 --> 00:03:56,100 But again on that big application we're gonna work on later we're gonna look at a lot of these different 58 00:03:56,100 --> 00:03:57,720 corner cases. 59 00:03:57,850 --> 00:03:58,620 OK so that's it. 60 00:03:58,630 --> 00:04:02,290 Just want to go over a couple of questions and answers that you might have had. 61 00:04:02,290 --> 00:04:04,920 So with all that in mind let's take a pause right here. 62 00:04:04,930 --> 00:04:07,600 We're gonna start to implement this new query service. 63 00:04:07,600 --> 00:04:11,770 We're gonna start to set up this event bus and then have all these services communicating with each 64 00:04:11,770 --> 00:04:12,150 other. 65 00:04:12,230 --> 00:04:13,750 The events in the next video.