Comments (6)
Makes sense. I need to give some thought to the approach with flags and whether that's the right method for the library.
from go-micro.
I was speaking with @dancannon, he made me realise that flags in a library are probably bad practice. I'll look to remove flags entirely and provide an example of initialisation in the template project.
from go-micro.
I understand that defining flags in library init
function may be a bad practice, but in such libraries like service server (like this one) I think flags should be standarized. Please take a look at how kubernetes is defining server flags.
Edit:
Maybe define flags in Init()
?
from go-micro.
The example given here is for the kubernetes master server which is not a library but a service itself. It would make sense to perhaps extract out flags into a separate package that could be used to run go-micro from the command line. The mistake was probably having flags in the server package in the first place. It should be imported for use elsewhere rather than the defacto starting point.
from go-micro.
Flags have been removed from the server package. I have created a new package called cmd for cli based usage which includes flag parsing. You can call import the cmd package and call cmd.Init() to parse flags and initialise the various packages based on that. This means if you are using the client or registry for your own uses you can use it for that too.
from go-micro.
Now it really can be seen with a naked eye it's a better way.
from go-micro.
Related Issues (20)
- [BUG] 4.10.2 subscribe can't receive pushlish message
- How can we ensure that the service node is Deregister wehn use zookeeper plugins HOT 1
- Advertise-address not work ? it is docker's ip 172.17.0.2 ??、 HOT 2
- what diffrent gateway with http example?
- How can multiple subscribers on a topic only consume once HOT 2
- [BUG]grpc client Call method bug HOT 1
- [BUG] Always show updates when creating a service (watch) HOT 1
- [BUG] Depreciation Warning: github.com/golang/protobuf HOT 1
- I haven't seen anywhere using the logger.Option.Out for write. Is this variable written here to deceive people?
- trying to send message larger than max (14547977 vs. 4194304) ? HOT 1
- panic: qtls.ConnectionState not compatible with tls.ConnectionState
- [BUG] Version V2.9.1 CLI no longer exists HOT 5
- grpc stream use async socket send, but seem use them same buffer, the newer msg seems overwrite the underlying buffer HOT 4
- Tag latest v3 changes (v3.7.2)
- [go-micro/auth.Inspect()] Is this function working? HOT 2
- how can i writter log to file? HOT 4
- [BUG]micro v4 can't register service HOT 10
- how can i pass http request headers through metadata?
- [BUG] go.micro.client.transport write: broken pipe
- [BUG] for v4.9.0 to RegisterSubscriber with Queue
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-micro.