If you think of a microservice as a class and your microservice web as an application, then it rapidly becomes apparent that many of the same patterns we've seen elsewhere in the book are applicable to microservices. Service discovery could be synonymous with dependency injection. Singleton, decorator, proxy; all of them could be applicable to the microservice world just as they are within the boundaries of a process.
One thing to keep in mind is that many of these patterns are somewhat chatty, sending significant data back and forth. Within a process there is no overhead to passing around pointers to data. The same is not true of microservices. Communicating over the network is likely to incur a performance penalty.