Coder Social home page Coder Social logo

Comments (5)

yangyile1990 avatar yangyile1990 commented on September 28, 2024

按照我的直观理解,这就像是增删改查,注册是增,取消注册是删,再次注册是更新,但是实际上执行起来,跟我的直觉很不一样。

from nacos-sdk-go.

yangyile1990 avatar yangyile1990 commented on September 28, 2024

当然我也找到了原因,即使是我把nacos服务器卸载,客户端代码删掉重写,结果还是不变,这个时候我开始怀疑缓存的问题。

当我直接用命令行 go run main.go 的时候一切正常,注册完就能查到,取消注册了就查不到,但是当我在GoLand开发工具里,使用右键直接run的时候,就不行。

因为我的缓存被写在了这里

/home/yangyile/.cache/JetBrains/GoLand2024.1/tmp/GoLand/cache/naming/public/DEFAULT_GROUP@@your-service-1

而且我不知道为啥这个缓存只要存在就不会更新,或者说需要等很长时间才能更新(在混乱中我也没发现规律)。

而当我使用 go run main.go 执行的时候,缓存是被写在了这里:

/tmp/go-build312333083/b001/exe/cache/naming/public/DEFAULT_GROUP@@your-service-1

而且运行完以后这个缓存自动消失,或者说,从 /tmp/go-build312333083 以下的东西全部消失。
因而再次运行即不使用缓存,即可每次都得到正确的结果。

即使我已经设置了这样的配置:

cc := &constant.ClientConfig{
		NamespaceId:         "your-namespace",
		TimeoutMs:           5000,
		NotLoadCacheAtStart: true,
		LogDir:              "/tmp/nacos/log",
		CacheDir:            "/tmp/nacos/cache",
		LogLevel:            "debug",
	}

但缓存的文件依然是没有写到我以为的系统的 /tmp/目录下的位置。

接下来请看问题 #743
也是同样的问题。
甚至还有新问题。

from nacos-sdk-go.

yangyile1990 avatar yangyile1990 commented on September 28, 2024

因此出于我个人的体验而言,我强烈建议当用户只需要写个test或者demo的时候,要允许用户不使用任何的缓存文件/日志文件,比如增加个标志位叫做not use disk file 等等情况。而且,假如你要优化代码,你可以选择把客户端的缓存放在一个map里,这样当客户端被杀掉的时候数据一并丢失,而当客户端持续运行时,数据就写在map里,这样其实也能满足很多用户的需求。

但我还是不明白,我明明已经配置了cache的目录,依然是存在问题。

from nacos-sdk-go.

yangyile1990 avatar yangyile1990 commented on September 28, 2024

在我的mac里也是一样的,虽然我并没有配置让它把数据写到这里,但它还是侵入了我的电脑,在里面留下了不少垃圾文件。

/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/your-namespace/DEFAULT_GROUP@@demo-service
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-0a505118ffc7425d99f2785b010e77b4
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-5360c978f4ad4e868973ed83e8640b39
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-a7d6e625e40a4d2e8bfb199c241f8e1e
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-5b4751edc59c48c8b95f2fa3fa0d2981
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-2-2
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-2
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-cbea2c2db0864f438bb471079a99fafb
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-9c82307b03de44dda07290487450fd96
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-8ae5a42cca544d8faf8293478a7b8b88
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-ec29b199287e471abc084ed281a92bdf
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-54d700256ff741d1bbb16c6a1c060f57
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-f2ca30dcd20d4647b634e2ed4ad2ffe6
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-9d751f302aec45b8b97f13b08774bac2
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-c7d3fd9829e64c128b532914bdd93a61
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/my-namespace/DEFAULT_GROUP@@demo-service-ca07591c3da2480ebc39c0a452fc769a
/System/Volumes/Data/Users/admin/Library/Caches/JetBrains/GoLand2023.3/tmp/GoLand/cache/naming/public/DEFAULT_GROUP@@demo-service

由于存在问题,我一直尝试变换服务名称,这样才能勉强在运行时或者正确的结果。

但我实在是想不通,昨天换了个ubuntu的机器重新装了环境,试了试,也还是一样的,我不明白为什么会出这样的问题。但结论就是,使用 CreateNamingClient 的代码写个main.go ,假如用goland带的右键运行,则缓存就会写到goland的cache里面,而假如使用 go run main.go 则缓存会写到 go build 的某个临时目录里,它们并不能写到正确的位置,即 /tmp/nacos/cache。

from nacos-sdk-go.

binbin0325 avatar binbin0325 commented on September 28, 2024

看你提供的代码片段,是客户端创建代码有问题(详细看一下redeme和example),另外提issue标题可以描述问题,不要偏激

参考: https://github.com/nacos-group/nacos-sdk-go/blob/master/example/service/main.go

from nacos-sdk-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.