Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to configure Language. #39

Closed
JackyAnn opened this issue Nov 27, 2024 · 6 comments
Closed

How to configure Language. #39

JackyAnn opened this issue Nov 27, 2024 · 6 comments

Comments

@JackyAnn
Copy link

The default language is Language.Java
How to set Language to Language.XLANG

I didn't find any configuration in FuryBuildTimeConfig either!

@zhfeng
Copy link
Contributor

zhfeng commented Nov 27, 2024

No, there is no such configuration currently. Just curious, what are your requirement to use XLANG?

@JackyAnn
Copy link
Author

JackyAnn commented Nov 27, 2024

Fury designed and implemented multiple binary protocols for different scenarios:

  • xlang serialization format:
    • Cross-language serialize any object automatically, no need for IDL definition, schema compilation and object to/from protocol conversion.
    • Support optional shared reference and circular reference, no duplicate data or recursion error.
    • Support object polymorphism.
  • Java serialization format: Highly-optimized and drop-in replacement > for Java serialization.
  • Row format format: A cache-friendly binary random access format, > supports skipping serialization and
    partial serialization, and can convert to column-format automatically.

I'm going to use fury to replace json in our web project.
This will require support for serialization in at least two languages, java and javascript.
Also go, python is becoming more and more popular in the backend and it's becoming more and more common to have a mixed language stack in microservices.

If I understand correctly, according to the documentation, the cross-language should use the xlang serialization format

@zhfeng
Copy link
Contributor

zhfeng commented Nov 27, 2024

@chaokunyang can you check it? I think we can add such Language Configuration but you maybe know more details.

@chaokunyang
Copy link
Contributor

The xlang serialization in Fury Java doesn't support graalvm yet. Currently only Fury Java serialization protocol support graalvm. We are working on xlang format for graalvm, But it may still needs several weeks

@zhfeng
Copy link
Contributor

zhfeng commented Nov 27, 2024

So it should be good to introduce such Language Configuraion which we can support both JAVA and XLANG?

@chaokunyang
Copy link
Contributor

Yeah, We should introduce this configuration option

zhfeng added a commit to zhfeng/quarkus-fury that referenced this issue Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants